powerpc/eeh: Set EEH_PE_RESET on PE reset
authorGavin Shan <gwshan@linux.vnet.ibm.com>
Thu, 13 Nov 2014 23:47:29 +0000 (10:47 +1100)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 2 Dec 2014 00:03:26 +0000 (11:03 +1100)
commit28bf36f92afc6b22ba50ceaf36ba89afa9f5c1e8
tree59423f9574d2bfeb614c73d1c8156f1d5fcef365
parentb85743ee95f3593ded82bca55cd3c38090ad001f
powerpc/eeh: Set EEH_PE_RESET on PE reset

The patch introduces additional flag EEH_PE_RESET to indicate the
corresponding PE is under reset. In turn, the PE retrieval bakcend
on PowerNV platform can return unfrozen state for the EEH core to
moving forward. Flag EEH_PE_CFG_BLOCKED isn't the correct one for
the purpose.

In PCI passthrou case, the problem is more worse: Guest doesn't
recover 6th EEH error. The PE is left in isolated (frozen) and
config blocked state on Broadcom adapters. We can't retrieve the
PE's state correctly any more, even from the host side via sysfs
/sys/bus/pci/devices/xxx/eeh_pe_state.

Reported-by: Rajeshkumar Subramanian <rajeshkumars@in.ibm.com>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/eeh.h
arch/powerpc/kernel/eeh.c
arch/powerpc/kernel/eeh_driver.c
arch/powerpc/platforms/powernv/eeh-ioda.c