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