[PATCH 0/3] Add PCI domain support to R-Car drivers

Phil Edworthy phil.edworthy at renesas.com
Mon Sep 22 04:40:42 PDT 2014


Hi Liviu,

On 22 September 2014 12:29, Liviu wrote:
> On Mon, Sep 22, 2014 at 10:51:07AM +0100, Phil Edworthy wrote:
> > The Renesas R-Car devices (r8a7790 and r8a7791) use two PCI controller
> drivers,
> > one for an external PCIe slot, the other for an internal PCI bridge to USB
> > controllers.
> >
> > However, they currently do not work at the same time as they use the
> same PCI
> > domain and use the same root bus number. We can't use different root
> bus numbers
> > due to the way root bus numbers are assigned in pcibios_init_hw() in
> > arch/arm/kernel/bios32.c.
> >
> > Since the two PCI controllers are completely independent, I think it makes
> sense
> > to use different PCI domains for them.
> >
> > I've marked the third patch as RFC as I am not sure of the impact of
> enabling
> > PCI domains for all ARM devices. In the march to 'one kernel to rule them
> all',
> > I steered clear of mach specific changes.
> >
> > These patches require the following patch from Liviu Dudau:
> >   [PATCH v11 07/10] OF: Introduce helper function for getting PCI
> domain_nr
> > Based on comments on this patch from Jason Gunthorpe, there is still the
> issue
> > that the domain numbers may change depending on the ordering at probe
> time.
> > However, this can be fixed later on by adding the entries in the DT files.
> 
> Hi Phil,
> 
> I'm happy that you found use for my patch, but I can't help wondering if it is
> not a better idea to convert your drivers to the whole new API in my series.
> Do you have any thoughts on that?
The main reason being that Renesas also supports the LTSI trees, so this fix
will also need backporting to v3.10. 

> One other thing to note: Rob Herring is not very happy with the mix of OF
> parsing and domain number allocation going in together, so I might remove
> the
> OF parsing entirely for now. Would that cause you any problems (other than
> the fact that if of_pci_get_domain_nr() doesn't do anything OF related I
> might
> rename it to pci_get_domain_nr()). You don't seem to have any alias defined
> for pci-domain in the DT, so I'll guess not.
In the covering letter I mentioned that controllers should always use the same
domain number, so I was planning to add pci-domain into the DTs later on.

Thanks
Phil


More information about the linux-arm-kernel mailing list