[PATCH v2 0/7] powerpc/eeh: Refactor to use pci_dn

Gavin Shan gwshan at linux.vnet.ibm.com
Tue Mar 17 16:15:01 AEDT 2015


powerpc/eeh: Refactor to use pci_dn

Currently, EEH depends on device_node or pci_dev heavily. Unfortunately,
SRIOV VFs are supported depending on pci_dn heavily, which is conflicting
with EEH implementation. In order for better support EEH on SRIOV VF, the
EEH is better to be changed a bit to depend on pci_dn, which is exactly
what the patchset does.

The patchset is expected to merged after the patchset "EEH cleanup to
remove chip layer for PowerNV", before "SRIOV patchset". The first two
patches are extracted from SRIOV patchset to make this patchset
self-contained.

Changelog
=========
v1 -> v2:
	* Remove SRIOV PF/VFs related logics in pci_dn.c and the flag for
          VF's pci_dn in pci-bridge.h;
	* Dereference "struct pci_dn *pci_data", not "void *firmware_data"
	  from "struct dev_archdata" and "struct pci_controller";
	* Move changes to eeh_restore_dev_state() from PATCH[7/7] to
	  PATCH[6/7] to avoid build error caused by PATCH[6/7];

Gavin Shan (7):
  powerpc/pci: Refactor pci_dn
  powerpc/powernv: Use pci_dn, not device_node, in PCI config accessor
  powerpc/pci: Trace more information from pci_dn
  powerpc/eeh: Create eeh_dev from pci_dn instead of device_node
  powerpc/eeh: Do probe on pci_dn
  powerpc/eeh: Replace device_node with pci_dn in eeh_ops
  powerpc/eeh: Remove device_node dependency

 arch/powerpc/include/asm/device.h            |   6 +
 arch/powerpc/include/asm/eeh.h               |  28 ++--
 arch/powerpc/include/asm/pci-bridge.h        |  28 ++--
 arch/powerpc/include/asm/ppc-pci.h           |   3 +
 arch/powerpc/kernel/eeh.c                    | 127 ++++++++----------
 arch/powerpc/kernel/eeh_cache.c              |  25 ++--
 arch/powerpc/kernel/eeh_dev.c                |  14 +-
 arch/powerpc/kernel/eeh_driver.c             |  22 ---
 arch/powerpc/kernel/eeh_pe.c                 | 116 +++++++++-------
 arch/powerpc/kernel/of_platform.c            |   2 +-
 arch/powerpc/kernel/pci-hotplug.c            |   2 +-
 arch/powerpc/kernel/pci_dn.c                 | 180 ++++++++++++++++++++++++-
 arch/powerpc/kernel/pci_of_scan.c            |   2 +-
 arch/powerpc/kernel/rtas_pci.c               |   2 +-
 arch/powerpc/platforms/powernv/eeh-powernv.c | 192 +++++++++++++++++++--------
 arch/powerpc/platforms/powernv/pci.c         |  69 ++++------
 arch/powerpc/platforms/powernv/pci.h         |   4 +-
 arch/powerpc/platforms/pseries/eeh_pseries.c |  98 +++++---------
 arch/powerpc/platforms/pseries/msi.c         |   6 +-
 arch/powerpc/platforms/pseries/pci_dlpar.c   |   2 +-
 arch/powerpc/platforms/pseries/setup.c       |   2 +-
 drivers/pci/hotplug/rpadlpar_core.c          |   2 +-
 22 files changed, 563 insertions(+), 369 deletions(-)

-- 
1.8.3.2



More information about the Linuxppc-dev mailing list