Gavin Shan 28158cd1b7 powerpc/eeh: Enhance pcibios_set_pcie_reset_state()
Function pcibios_set_pcie_reset_state() is possibly called by
pci_reset_function(), on which VFIO infrastructure depends to
issue reset. pcibios_set_pcie_reset_state() is issuing reset
on the parent PE of the indicated PCI device. The reset causes
state lost on all PCI devices except the indicated one as the
argument to pcibios_set_pcie_reset_state(). Also, sideband
MMIO access from guest when issuing reset would cause unexpected
EEH error.

For above two issues, the patch applies following enhancements
to pcibios_set_pcie_reset_state():

   * For all PCI devices except the indicated one, save their
     state prior to reset and restore state after that.
   * Explicitly freeze PE prior to reset and unfreeze it after
     that, in order to avoid unexpected EEH error.

Tested-by: Priya M. A <priyama2@in.ibm.com>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2015-03-17 10:31:18 +11:00
..
2014-04-18 14:20:41 +02:00
2014-11-03 12:12:32 +11:00
2014-11-27 09:32:58 +11:00
2014-12-11 17:48:14 -08:00
2014-08-13 15:13:42 +10:00
2014-09-25 23:14:46 +10:00
2014-11-03 12:12:32 +11:00
2014-11-03 12:12:32 +11:00
2015-02-17 14:34:51 -08:00
2014-11-03 12:12:32 +11:00
2014-12-11 17:48:14 -08:00
2014-09-25 23:14:41 +10:00
2014-08-06 13:04:32 +02:00
2012-03-28 18:30:02 +01:00
2014-11-03 12:12:32 +11:00
2015-01-28 15:00:24 +11:00