]> asedeno.scripts.mit.edu Git - linux.git/commit
PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers
authorDaniel Drake <drake@endlessm.com>
Wed, 27 Nov 2019 05:38:36 +0000 (13:38 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 13 Dec 2019 20:30:54 +0000 (14:30 -0600)
commit3030df209aa8cf831b9963829bd9f94900ee8032
tree2256ed34bdb938be18009c2fcf85dfee0a435e34
parent62fe23df067715a21c4aef44068efe7ceaa8f627
PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers

On Asus UX434DA (AMD Ryzen7 3700U) and Asus X512DK (AMD Ryzen5 3500U), the
XHCI controller fails to resume from runtime suspend or s2idle, and USB
becomes unusable from that point.

  xhci_hcd 0000:03:00.4: Refused to change power state, currently in D3
  xhci_hcd 0000:03:00.4: enabling device (0000 -> 0002)
  xhci_hcd 0000:03:00.4: WARN: xHC restore state timeout
  xhci_hcd 0000:03:00.4: PCI post-resume error -110!
  xhci_hcd 0000:03:00.4: HC died; cleaning up

During suspend, a transition to D3cold is attempted, however the affected
platforms do not seem to cut the power to the PCI device when in this
state, so the device stays in D3hot.

Upon resume, the D3hot-to-D0 transition is successful only if the D3 delay
is increased to 20ms. The transition failure does not appear to be
detectable as a CRS condition. Add a PCI quirk to increase the delay on the
affected hardware.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=205587
Link: http://lkml.kernel.org/r/CAD8Lp47Vh69gQjROYG69=waJgL7hs1PwnLonL9+27S_TcRhixA@mail.gmail.com
Link: https://lore.kernel.org/r/20191127053836.31624-2-drake@endlessm.com
Signed-off-by: Daniel Drake <drake@endlessm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/pci/quirks.c