[PATCH 0/4] PCI: Reset exclusions

From: Alex Williamson
Date: Fri Nov 21 2014 - 13:24:11 EST


This is really 2 sets of 2 patches, but they both add bits to
dev_flags so are included together.

This fixes two problems we've seen with resets. The first is for
devices that advertise a PM reset mechanism, but it doesn't appear to
do anything. We add a quirk and flags bit to indicate the PM reset
mechanism isn't viable. This happens on some AMD GPUs and causes
vfio-pci to assume the PM reset was successful when it really did
nothing and we should have escalated to a PCI bus reset. Alex
Deucher confirms that PM reset isn't used by graphics drivers. The
exclusion here is for users of pci_reset_function(), which mostly
only includes pci-sysfs and drivers like legacy KVM device assignment
and VFIO.

The second issue is a problem identified with an Atheros wifi chip
where in performing a bus reset of the device, we not only permanently
lose access to the device, but it introduces host stability issues if
we try to access it. I've been unsuccessful in finding any way to
make the device behave or in finding anyone with access to hardware
documentation and errata for this device, so it seems like the most
appropriate path is to blacklist bus resets for topologies including
this device. The second two patches add infrastructure and quirks to
do this. Thanks,

Alex

---

Alex Williamson (4):
PCI: quirk Atheros AR93xx to avoid bus reset
PCI: Allow device quirks to exclude bus reset
PCI: quirk AMD/ATI VGA cards to avoid PM reset
PCI: Allow device quirks to exclude D3->D0 PM reset


drivers/pci/pci.c | 42 +++++++++++++++++++++++++++++++++++++-----
drivers/pci/quirks.c | 35 +++++++++++++++++++++++++++++++++++
include/linux/pci.h | 4 ++++
3 files changed, 76 insertions(+), 5 deletions(-)
--
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/