lkml.org 
[lkml]   [2014]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v5 0/7] [RFC] Support for creating generic host_bridge from device tree
    From
    On Wed, Mar 5, 2014 at 12:18 AM, Liviu Dudau <Liviu.Dudau@arm.com> 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@arm.com> 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.
    >
    > Cheers! Any ETA on your updated patches?

    I will apply your V6 and generate mine on top of them. I will send my
    X-Gene patches out today.

    >
    > I might get the required signatures on the legal approval next week and
    > then I will publish my host controller driver.
    >
    > Best regards,
    > 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 linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2014-03-06 15:41    [W:2.761 / U:0.588 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site