[RFC PATCH] Xen PCI back - do slot and bus reset (v0).

From: Konrad Rzeszutek Wilk
Date: Fri Dec 13 2013 - 11:10:33 EST


Hey,

While I was trying to narrow down the state of GPU passthrough
(still not finished) and figuring what needs to be done I realized
that Xen PCIback did not reset my GPU properly (when I crashed the
Windows guest by mistake). It does an FLR reset or Power one - if
the device supports it. But it seems that some of these GPUs
are liars and actually don't do the power part properly.

One way to fix this is by doing a slot (aka device) and bus reset.
Of course to do that - you need to make sure that all of the
functions of a device are under the ownership of xen-pciback.
Otherwise you might accidently reset your sound card while it is
being used.

These RFC patches cleanup pci back a bit and also make it possible
for Xen pciback to do the whole gamma of 'reset' for PCI devices:
FLR, power management, AER, slot and bus reset if neccessary.

Thanks go to Gordan Bobic for educating me on how to "reprogram"
and GFX460 in a Quardro 4000M and also reporting oddities when
a PCI device was reset but it looked like it was not reset.


drivers/xen/xen-pciback/pci_stub.c | 142 +++++++++++++++++++++++++++++++------
drivers/xen/xen-pciback/xenbus.c | 5 +-
2 files changed, 124 insertions(+), 23 deletions(-)


Konrad Rzeszutek Wilk (5):
xen-pciback: Cleanup up pcistub_put_pci_dev
xen-pciback: First reset, then free.
xen-pciback: Document when we FLR an PCI device.
xen/pciback: Move the FLR code to a function.
xen/pciback: PCI reset slot or bus

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/