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-03-11 17:37:20 -06:00
2018-09-18 17:52:15 -05:00
2021-04-16 14:32:18 -05:00
2021-07-06 10:37:46 -05:00
2019-08-30 14:00:34 -05:00
2020-10-22 12:41:00 -07:00
2018-09-18 17:52:15 -05:00
2018-09-18 17:52:15 -05:00
2020-10-22 12:41:00 -07:00
2021-09-02 12:02:50 -05:00