Niklas Schnelle da995d538d s390/pci: implement reset_slot for hotplug slot
This is done by adding a zpci_hot_reset_device() call which does a low
level reset of the PCI function without changing its higher level
function state. This way it can be used while the zPCI function is bound
to a driver and with DMA tables being controlled either through the
IOMMU or DMA APIs which is prohibited when using zpci_disable_device()
as that drop existing DMA translations.

As this reset, unlike a normal FLR, also calls zpci_clear_irq() we need
to implement arch_restore_msi_irqs() and make sure we re-enable IRQs for
the PCI function if they were previously disabled.

Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-11-08 14:17:49 +01:00
..
2021-11-06 14:36:12 -07:00
2021-11-05 11:28:47 -05:00
2021-06-16 17:20:40 -05:00
2021-11-05 11:28:46 -05:00
2021-11-06 14:36:12 -07:00
2021-11-05 11:28:46 -05:00
2021-11-02 19:06:30 +01:00
2021-11-05 11:28:47 -05:00
2021-11-06 14:36:12 -07:00
2021-11-06 14:36:12 -07:00
2021-11-06 14:36:12 -07:00
2021-11-05 11:28:47 -05:00
2021-09-07 19:13:42 -07:00
2021-11-05 11:28:47 -05:00
2021-02-10 16:46:29 -06:00
2021-09-28 13:43:17 -05:00