The rework is done based on Ben's initial ideas on how PE and resource
assignment is done on top of PCI core instead of doing resource assignment
by powernv platform. With the series of patches, the following aspects will
be covered:

        - Only create PE based on PCI bus. Basically, there will be 2 types
          of PEs built on PCI bus: (A) PE only includes single PCI bus. (B)
          PE includes the PCI bus as well as its subordinate PCI buses.
        - Make the I/O and MMIO resources of P2P bridge aligned according to
          the PHB's resource layout. For example, MMIO resource of P2P bridges
          will be aligned with 16MB if PHB has 16MB M32 segment.
        - The resource allocation will be done on basis of PE.
        - Trivial fixup on the hook of enabling PCI device, PE check etc.

The series of patches has been verified on Firebird-L based on kernel 3.6.RC2. 
During
the kernel boots, USB HUBs can be detected and initialized correctly. Also, the 
disk
drive as well as network interfaces can work successfully after booting into 
shell
environment.

V1 -> V2
        - Add separate field into "struct pci_host_bridge" to trace the minimal
          alignment of prefetchable MMIO bars for P2P bridges (Benjamin 
Herrenschmidt)
        - Reduced variable names while measuring the MMIO bars (Benjamin 
Herrenschmidt)
        - Change the commit log for more clear description on [PATCH 2/8] 
(Benjamin Herrenschmidt)
        - Change the commit log for more clear description on the types of PCI 
bus
          sensitive PEs on [PATCH 5/8] (Richard Yang)

V2 -> V3
        - Rework the sequence of the patches so that it won't break "git 
bitsect" (Benjamin Herrenschmidt)
        - Cleanup on variables name so that they have shorter length (Benjamin 
Herrenschmidt)
        - Rework on PE's resource calculation based on the PCI bus (Benjamin 
Herrenschmidt)
        - Cleanup on changelog (Benjamin Herrenschmidt)

V3 -> V4
        - Rebase to 3.6.RC2
        - The series of patches has been reworked to comply with the generic 
part
          "[PATCH v8 0/8] Minimal alignment for p2p bars"       
        - Remove the duplicate assignment for PE number (Richard Yang)

-----

arch/powerpc/platforms/powernv/pci-ioda.c |  694 ++++++++---------------------
arch/powerpc/platforms/powernv/pci.h      |   21 +-
2 files changed, 195 insertions(+), 520 deletions(-)

Thanks,
Gavin

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to