PCI: Mark AMD/ATI VGA devices that don't reset on D3hot->D0 transition
authorAlex Williamson <alex.williamson@redhat.com>
Fri, 21 Nov 2014 18:24:14 +0000 (11:24 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 16 Jan 2015 16:07:33 +0000 (10:07 -0600)
commitd84f31744643e2c439466d513ebc1bc81c4d9186
tree3adfed84c706d1b86066e05b57453050581f84e4
parent51e537387990dc1f00752103f314fd135cb94bc6
PCI: Mark AMD/ATI VGA devices that don't reset on D3hot->D0 transition

Some AMD/ATI GPUs report NoSoftRst- to indicate that they perform a reset
when software transitions them from D3hot to D0, but there is no apparent
effect on the device: the monitor remains synced and the framebuffer
contents are retained.

Callers of pci_reset_function() don't necessarily have a way to validate
whether a reset was effective, so we don't want to rely on NoSoftRst if
it's known to be inaccurate.  Returning an error in such cases appears to
be the better option.  For users like vfio-pci, this allows the driver to
escalate to the bus reset interfaces.

If a device lives on the root bus, there's really no further
escalation path, so we exempt PM reset as potentially better than
nothing.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
drivers/pci/quirks.c