]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "powerpc/powernv: Exclude root bus in pnv_pci_reset_secondary_bus()"
authorMichael Ellerman <mpe@ellerman.id.au>
Thu, 12 May 2016 09:43:37 +0000 (19:43 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 12 May 2016 09:43:37 +0000 (19:43 +1000)
commitcc7113e28bf870b03261a87d81047b845eba83ab
treee84fec24060967d894207859030e5ec1576910b4
parenta680625c911d50b84d981ec1bba63fe13f9e96ea
Revert "powerpc/powernv: Exclude root bus in pnv_pci_reset_secondary_bus()"

This reverts commit 688e0b328816002f0691941bfe0c76de81cd909d.

Gavin says: I missed the fact that it affects the PCI passthrou path as
reported by Alexey: When passing GPU (0003:01:00.0) which seats behind
the root port, the reset request is routed to skiboot in original code.
In skiboot, the link bouncing events are masked during the reset. So we
don't see EEH (freeze all) error even link bouncing happens. With the
changes included, the reset is done by kernel and the link bouncing
events aren't masked by altering content of PHB3 (or P7IOC) specific
hardware registers which are invisible to kernel (skiboot hides the
hardware specific). It means the link bouncing is seen by the root port
and it causes a EEH (freeze all) error. The PCI passthrough on GPU
device cannot work.

Requested-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Requested-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/powernv/eeh-powernv.c