linux/arch/powerpc
Wei Yang 0dc2830e0a powerpc/powernv: Support PCI config restore for VFs
After PE reset, OPAL API opal_pci_reinit() is called on all devices
contained in the PE to reinitialize them. While skiboot is not aware of
VFs, we have to implement the function in kernel to reinitialize VFs after
reset on PE for VFs.

In this patch, two functions pnv_pci_fixup_vf_mps() and
pnv_eeh_restore_vf_config() both manipulate the MPS of the VF, since for a
VF it has three cases.

1. Normal creation for a VF
   In this case, pnv_pci_fixup_vf_mps() is called to make the MPS a proper
   value compared with its parent.
2. EEH recovery without VF removed
   In this case, MPS is stored in pci_dn and pnv_eeh_restore_vf_config() is
   called to restore it and reinitialize other part.
3. EEH recovery with VF removed
   In this case, VF will be removed then re-created. Both functions are
   called. First pnv_pci_fixup_vf_mps() is called to store the proper MPS
   to pci_dn and then pnv_eeh_restore_vf_config() is called to do proper
   thing.

This introduces two functions: pnv_pci_fixup_vf_mps() to fixup the VF's
MPS to make sure it is equal to parent's and store this value in pci_dn
for future use. pnv_eeh_restore_vf_config() to re-initialize on VF by
restoring MPS, disabling completion timeout, enabling SERR, etc.

Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com>
Acked-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-03-09 09:58:22 +11:00
..
boot powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
configs powerpc/powernv: Add AST graphics driver to powernv_defconfig 2016-02-24 17:14:53 +11:00
crypto powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
include powerpc/powernv: Support PCI config restore for VFs 2016-03-09 09:58:22 +11:00
kernel powerpc/powernv: Support EEH reset for VF PE 2016-03-09 09:58:21 +11:00
kvm powerpc/mm: Move hash related mmu-*.h headers to book3s/ 2016-03-03 21:19:21 +11:00
lib powerpc: Create disable_kernel_{fp,altivec,vsx,spe}() 2015-12-01 13:52:25 +11:00
math-emu
mm powerpc/mm: add _PAGE_HASHPTE similar to 4K hash 2016-03-03 21:18:29 +11:00
net net: filter: make JITs zero A for SKF_AD_ALU_XOR_X 2016-01-06 00:43:52 -05:00
oprofile powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
perf powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
platforms powerpc/powernv: Support PCI config restore for VFs 2016-03-09 09:58:22 +11:00
sysdev powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
xmon powerpc/xmon: Add xmon command to dump process/task similar to ps(1) 2016-02-10 10:22:04 +11:00
Kconfig powerpc/mm: Switch book3s 64 with 64K page size to 4 level page table 2016-03-03 21:18:28 +11:00
Kconfig.debug powerpc updates for 4.5 2016-01-15 13:18:47 -08:00
Makefile powerpc/cell: Drop CONFIG_TUNE_CELL in favour of CONFIG_CELL_CPU 2015-10-19 19:51:18 +11:00
relocs_check.sh powerpc: Convert relocs_check to a shell script using grep 2015-03-23 14:47:39 +11:00