linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: bhelgaas@google.com
Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 0/4] PCI: Reset exclusions
Date: Fri, 21 Nov 2014 11:24:02 -0700	[thread overview]
Message-ID: <20141121180322.26669.65689.stgit@gimli.home> (raw)

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(-)

             reply	other threads:[~2014-11-21 18:24 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-21 18:24 Alex Williamson [this message]
2014-11-21 18:24 ` [PATCH 1/4] PCI: Allow device quirks to exclude D3->D0 PM reset Alex Williamson
2014-11-21 18:24 ` [PATCH 2/4] PCI: quirk AMD/ATI VGA cards to avoid " Alex Williamson
2014-11-21 19:00   ` Deucher, Alexander
2014-11-21 18:24 ` [PATCH 3/4] PCI: Allow device quirks to exclude bus reset Alex Williamson
2014-11-21 18:24 ` [PATCH 4/4] PCI: quirk Atheros AR93xx to avoid " Alex Williamson
2014-12-26  7:56   ` Andreas Hartmann
2015-01-08 16:07   ` Bjorn Helgaas
2015-01-08 19:30     ` Alex Williamson
2015-01-08 23:10       ` Bjorn Helgaas
2015-01-12 15:20       ` Andreas Hartmann
2015-01-12 16:49         ` Alex Williamson
2015-01-12 19:15           ` Andreas Hartmann
2015-01-13  0:37             ` Bjorn Helgaas
2015-01-16  0:28 ` [PATCH 0/4] PCI: Reset exclusions Bjorn Helgaas
2015-01-16 16:15   ` Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141121180322.26669.65689.stgit@gimli.home \
    --to=alex.williamson@redhat.com \
    --cc=bhelgaas@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).