On Wed, Mar 5, 2014 at 3:40 AM, Liviu Dudau <Liviu.Dudau@xxxxxxx> wrote: > On Wed, Mar 05, 2014 at 01:53:55AM +0000, Tanmay Inamdar wrote: >> Hello, >> >> Thanks for the patch set. >> >> On Tue, Mar 4, 2014 at 7:49 AM, Liviu Dudau <Liviu.Dudau@xxxxxxx> wrote: >> > This is v5 of my attempt to add support for a generic pci_host_bridge controller created >> > from a description passed in the device tree. >> > >> > Changes from v4: >> > - Export pci_find_host_bridge() to be used by arch code. There is scope for >> > making the arch/arm64 version of pci_domain_nr the default weak implementation >> > but that would double the size of this series in order to handle all #define >> > versions of the pci_domain_nr() function, so I suggest keeping that for a separate >> > cleanup series. >> > >> > Changes from v3: >> > - Dynamically allocate bus_range resource in of_create_pci_host_bridge() >> > - Fix the domain number used when creating child busses. >> > - Changed domain number allocator to use atomic operations. >> > - Use ERR_PTR() to propagate the error out of pci_create_root_bus_in_domain() >> > and of_create_pci_host_bridge(). >> > >> > Changes from v2: >> > - Use range->cpu_addr when calling pci_address_to_pio() >> > - Introduce pci_register_io_range() helper function in order to register >> > io ranges ahead of their conversion to PIO values. This is needed as no >> > information is being stored yet regarding the range mapping, making >> > pci_address_to_pio() fail. Default weak implementation does nothing, >> > to cover the default weak implementation of pci_address_to_pio() that >> > expects direct mapping of physical addresses into PIO values (x86 view). >> > >> > Changes from v1: >> > - Add patch to fix conversion of IO ranges into IO resources. >> > - Added a domain_nr member to pci_host_bridge structure, and a new function >> > to create a root bus in a given domain number. In order to facilitate that >> > I propose changing the order of initialisation between pci_host_bridge and >> > it's related bus in pci_create_root_bus() as sort of a rever of 7b5436635800. >> > This is done in patch 1/4 and 2/4. >> > - Added a simple allocator of domain numbers in drivers/pci/host-bridge.c. The >> > code will first try to get a domain id from of_alias_get_id(..., "pci-domain") >> > and if that fails assign the next unallocated domain id. >> > - Changed the name of the function that creates the generic host bridge from >> > pci_host_bridge_of_init to of_create_pci_host_bridge and exported as GPL symbol. >> > >> > >> > v4 thread here: https://lkml.org/lkml/2014/3/3/301 >> > v3 thread here: https://lkml.org/lkml/2014/2/28/216 >> > v2 thread here: https://lkml.org/lkml/2014/2/27/245 >> > v1 thread here: https://lkml.org/lkml/2014/2/3/380 >> > >> > Best regards, >> > Liviu >> > >> > Liviu Dudau (7): >> > pci: Introduce pci_register_io_range() helper function. >> > pci: OF: Fix the conversion of IO ranges into IO resources. >> > pci: Create pci_host_bridge before its associated bus in pci_create_root_bus. >> > pci: Introduce a domain number for pci_host_bridge. >> > pci: Use parent domain number when allocating child busses. >> > pci: Export find_pci_host_bridge() function. >> > pci: Add support for creating a generic host_bridge from device tree >> > >> > drivers/of/address.c | 39 +++++++++++++ >> > drivers/pci/host-bridge.c | 142 ++++++++++++++++++++++++++++++++++++++++++++- >> > drivers/pci/probe.c | 72 +++++++++++++++-------- >> > include/linux/of_address.h | 14 +---- >> > include/linux/pci.h | 17 ++++++ >> > 5 files changed, 248 insertions(+), 36 deletions(-) >> > >> > -- >> > 1.9.0 >> > >> >> This series is working fine on X-Gene with multiple PCIe ports. You >> can add my Tested-by if you want. > > What about the arm64 series, can I add a Tested-by to that one as well? Sure. > > Thanks, > Liviu > >> >> Thanks, >> Tanmay >> > > -- > ==================== > | I would like to | > | fix the world, | > | but they're not | > | giving me the | > \ source code! / > --------------- > ¯\_(ツ)_/¯ > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html