RE: [PATCH V1 11/11] arm64, pci, acpi: Support for ACPI based PCI hostbridge init

From: Gabriele Paoloni
Date: Tue Nov 03 2015 - 13:01:39 EST


Hi David

> -----Original Message-----
> From: David Daney [mailto:ddaney@xxxxxxxxxxxxxxxxxx]
> Sent: 03 November 2015 17:39
> To: Hanjun Guo
> Cc: Lorenzo Pieralisi; Sinan Kaya; Tomasz Nowicki; bhelgaas@xxxxxxxxxx;
> arnd@xxxxxxxx; will.deacon@xxxxxxx; catalin.marinas@xxxxxxx; rjw@xxxxxxxxxxxxx;
> jiang.liu@xxxxxxxxxxxxxxx; robert.richter@xxxxxxxxxxxxxxxxxx;
> Narinder.Dhillon@xxxxxxxxxxxxxxxxxx; Liviu.Dudau@xxxxxxx; tglx@xxxxxxxxxxxxx;
> Wangyijing; Suravee.Suthikulpanit@xxxxxxx; msalter@xxxxxxxxxx; linux-
> pci@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> acpi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Gabriele Paoloni; Wangzhou
> (B); liudongdong (C)
> Subject: Re: [PATCH V1 11/11] arm64, pci, acpi: Support for ACPI based PCI
> hostbridge init
>
> On 11/03/2015 07:19 AM, Hanjun Guo wrote:
> > On 11/03/2015 10:15 PM, Lorenzo Pieralisi wrote:
> >> On Wed, Oct 28, 2015 at 02:46:37PM -0400, Sinan Kaya wrote:
> >>
> >> [...]
> >>
> >>>> -int raw_pci_write(unsigned int domain, unsigned int bus,
> >>>> - unsigned int devfn, int reg, int len, u32 val)
> >>>> +struct pci_ops pci_root_ops = {
> >>>> + .map_bus = pci_mcfg_dev_base,
> >>>> + .read = pci_generic_config_read,
> >>>> + .write = pci_generic_config_write,
> >>>
> >>>
> >>> Can you change these with pci_generic_config_read32 and
> >>> pci_generic_config_write32? We have some targets that can only do 32
> >>> bits PCI config space access.
> >>
> >> No.
> >>
> >> http://www.spinics.net/lists/linux-pci/msg44869.html
> >>
> >> Can you be a bit more specific please ?
> >>
> >> Sigh. Looks like we have to start adding platform specific quirks even
> >> before we merged the generic ACPI PCIe host controller implementation.
> >
> > Cc Gab, Zhou, and Dondong who upstream the hip05 (designware) PCIe host
> > support.
> >
> > I think so, some platform may not support ECAM for root complex,
> > which needs special handling of access config space, we may need
> > to consider those cases.
> >
>
> Yes, it is indeed true. For example, some Cavium ThunderX processors
> fall into this category.
>
> Some options I thought of are:
>
> o Use DECLARE_ACPI_MCFG_FIXUP() in the kernel to supply the needed
> config space accessors.
>
> o Define additional root_device_ids that imply the needed config space
> accessors.

Yes I like this

it would fit designware too

Gab

>
>
> > Thanks
> > Hanjun

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/