[PATCH v2 0/5] powerpc/powernv: PHB3 Support

Gavin Shan shangw at linux.vnet.ibm.com
Tue Apr 23 21:03:49 EST 2013


The patchset includes minimal support for PHB3. Initially, flag "PNV_PHB_IODA2"
is introduced to differentiate IODA2 compliant PHB3 from other types of PHBs and
do initialization accordingly for PHB3. Besides, variable IODA2 tables reside in
system memory and we allocate them in kernel, then pass them to f/w and enable
the corresponding BARs through OPAL API. The P/Q bits of IVE should be handled
on PHB3 by software and the patchset intends to cover that as well.

NOTE: The first patch comes from Ben.

v1 -> v2
	* Introduce CONFIG_POWERNV_MSI, which is similiar to CONFIG_PSERIES_MSI
	* Enable CONFIG_PPC_MSI_BITMAP while selecting CONFIG_POWERNV_MSI
	* Eleminate (struct pnv_phb::msi_count) since it has been removed in
	  linux-next
	* Replace (CONFIG_PPC_POWERNV && CONFIG_PCI_MSI) with CONFIG_POWERNV_MSI
	* Move declaration of pnv_pci_msi_eoi() to asm/xics.h
	* Remove unnecessary "#ifdef ... #endif" in icp-native.c
	* Add support to invalidate TCE
	* Let the IODA2 table allocated by firmware and kernel to retrieve them
	  through device-tree

---

arch/powerpc/include/asm/iommu.h            |    1 +
arch/powerpc/include/asm/opal.h             |    5 +-
arch/powerpc/include/asm/xics.h             |    3 +
arch/powerpc/platforms/powernv/Kconfig      |    5 +
arch/powerpc/platforms/powernv/pci-ioda.c   |  209 +++++++++++++++++++++++----
arch/powerpc/platforms/powernv/pci-p5ioc2.c |    2 +
arch/powerpc/platforms/powernv/pci.c        |   74 ++++------
arch/powerpc/platforms/powernv/pci.h        |   24 +++-
arch/powerpc/sysdev/Kconfig                 |    1 +
arch/powerpc/sysdev/xics/icp-native.c       |   27 ++++-
10 files changed, 267 insertions(+), 84 deletions(-)

Thanks,
Gavin



More information about the Linuxppc-dev mailing list