[PATCH V3 0/8] ppc/pnv: Rework on pnv P7IOC initialization
shangw at linux.vnet.ibm.com
Tue Jun 26 01:43:13 EST 2012
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
- 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 and Juno-IOC-L based on
kernel 3.4.RC6. 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)
arch/powerpc/platforms/powernv/pci-ioda.c | 708 ++++++++---------------------
arch/powerpc/platforms/powernv/pci.h | 21 +-
2 files changed, 213 insertions(+), 516 deletions(-)
More information about the Linuxppc-dev