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 08:42:02 -07:00
2021-11-06 14:36:12 -07:00
2021-11-03 17:00:52 -07:00
2021-11-01 10:09:14 -07:00
2021-11-04 08:21:47 -07:00
2021-11-02 11:24:14 -07:00
2021-11-03 17:00:52 -07:00
2021-11-06 14:36:12 -07:00
2021-11-05 08:42:02 -07:00
2021-11-04 08:21:47 -07:00
2021-11-04 13:56:55 -07:00
2021-11-02 10:56:49 -07:00
2021-11-04 08:32:38 -07:00
2021-11-05 08:42:02 -07:00
2021-11-06 14:36:12 -07:00
2021-11-01 10:12:44 -07:00
2021-11-06 14:36:12 -07:00
2021-11-06 14:36:12 -07:00
2021-10-26 19:12:01 +02:00
2021-11-06 14:36:12 -07:00
2021-11-01 09:19:50 -07:00
2021-11-01 10:17:11 -07:00
2021-11-06 14:36:12 -07:00
2021-11-02 06:20:58 -07:00
2021-11-02 15:58:39 -07:00
2021-11-04 08:21:47 -07:00
2021-10-28 14:42:20 +01:00
2021-11-01 19:04:47 -07:00
2021-11-03 17:00:52 -07:00
2021-10-21 12:35:35 +02:00
2021-10-26 17:16:03 +02:00
2021-11-05 08:42:02 -07:00
2021-11-03 17:00:52 -07:00
2021-11-01 19:09:04 -07:00
2021-11-06 14:36:12 -07:00
2021-11-05 08:42:02 -07:00
2021-11-04 08:21:47 -07:00
2021-11-06 14:36:12 -07:00
2021-11-03 15:00:39 -07:00
2021-11-05 08:15:46 -07:00
2021-11-03 16:56:03 -07:00