[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKv+Gu_zpoFsDr7e8zPCDKPpRdKDVH+vnC0nfvmGaJ7xcP3Zng@mail.gmail.com>
Date: Fri, 20 May 2016 11:14:03 +0200
From: Ard Biesheuvel <ard.biesheuvel@...aro.org>
To: Gabriele Paoloni <gabriele.paoloni@...wei.com>
Cc: Jon Masters <jcm@...hat.com>, Tomasz Nowicki <tn@...ihalf.com>,
"helgaas@...nel.org" <helgaas@...nel.org>,
"arnd@...db.de" <arnd@...db.de>,
"will.deacon@....com" <will.deacon@....com>,
"catalin.marinas@....com" <catalin.marinas@....com>,
"rafael@...nel.org" <rafael@...nel.org>,
"hanjun.guo@...aro.org" <hanjun.guo@...aro.org>,
"Lorenzo.Pieralisi@....com" <Lorenzo.Pieralisi@....com>,
"okaya@...eaurora.org" <okaya@...eaurora.org>,
"jchandra@...adcom.com" <jchandra@...adcom.com>,
"linaro-acpi@...ts.linaro.org" <linaro-acpi@...ts.linaro.org>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"dhdang@....com" <dhdang@....com>,
"Liviu.Dudau@....com" <Liviu.Dudau@....com>,
"ddaney@...iumnetworks.com" <ddaney@...iumnetworks.com>,
"jeremy.linton@....com" <jeremy.linton@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
"robert.richter@...iumnetworks.com"
<robert.richter@...iumnetworks.com>,
"Suravee.Suthikulpanit@....com" <Suravee.Suthikulpanit@....com>,
"msalter@...hat.com" <msalter@...hat.com>,
Wangyijing <wangyijing@...wei.com>,
"mw@...ihalf.com" <mw@...ihalf.com>,
"andrea.gallo@...aro.org" <andrea.gallo@...aro.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH V7 00/11] Support for generic ACPI based PCI host controller
On 20 May 2016 at 10:40, Gabriele Paoloni <gabriele.paoloni@...wei.com> wrote:
> Hi Ard
>
>> -----Original Message-----
>> From: Ard Biesheuvel [mailto:ard.biesheuvel@...aro.org]
[...]
>>
>> Is the PCIe root complex so special that you cannot simply describe an
>> implementation that is not PNP0408 compatible as something else, under
>> its own unique HID? If everybody is onboard with using ACPI, how is
>> this any different from describing other parts of the platform
>> topology? Even if the SBSA mandates generic PCI, they already deviated
>> from that when they built the hardware, so pretending that it is a
>> PNP0408 with quirks really does not buy us anything.
>
> From my understanding we want to avoid this as this would allow each
> vendor to come up with his own code and it would be much more effort
> for the PCI maintainer to rework the PCI framework to accommodate X86
> and "all" ARM64 Host Controllers...
>
> I guess this approach is too risky and we want to avoid this. Through
> standardization we can more easily maintain the code and scale it to
> multiple SoCs...
>
> So this is my understanding; maybe Jon, Tomasz or Lorenzo can give
> a bit more explanation...
>
OK, so that boils down to recommending to vendors to represent known
non-compliant hardware as compliant, just so that we don't have to
change the code to support additional flavors of ECAM ? It's fine to
be pragmatic, but that sucks.
We keep confusing the x86 case with the ARM case here: for x86, they
needed to deal with broken hardware *after* the fact, and all they
could do is find /some/ distinguishing feature in order to guess which
exact hardware they might be running on. For arm64, it is the opposite
case. We are currently in a position where we can demand vendors to
comply with the standards they endorsed themselves, and (ab)using ACPI
+ DMI as a de facto platform description rather than plain ACPI makes
me think the DT crowd were actually right from the beginning. It
*directly* violates the standardization principle, since it requires a
priori knowledge inside the OS that a certain 'generic' device must be
driven in a special way.
So can anyone comment on the feasibility of adding support for devices
with vendor specific HIDs (and no generic CIDs) to the current ACPI
ECAM driver in Linux?
Powered by blists - more mailing lists