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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/