linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI: quirks: Quirk PCI d3hot delay for AMD xhci
@ 2021-07-22  2:58 Alex Deucher
  2021-07-29 20:39 ` Bjorn Helgaas
  0 siblings, 1 reply; 11+ messages in thread
From: Alex Deucher @ 2021-07-22  2:58 UTC (permalink / raw)
  To: bhelgaas, linux-pci
  Cc: Marcin Bachry, Alex Deucher, mario.limonciello, prike.liang,
	shyam-sundar.s-k

From: Marcin Bachry <hegel666@gmail.com>

Renoir needs a similar delay.

[Alex: I talked to the AMD USB hardware team and the
 AMD windows team and they are not aware of any HW
 errata or specific issues.  The HW works fine in
 windows.  I was told windows uses a rather generous
 default delay of 100ms for PCI state transitions.]

Signed-off-by: Marcin Bachry <hegel666@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: mario.limonciello@amd.com
Cc: prike.liang@amd.com
Cc: shyam-sundar.s-k@amd.com
---

Bjorn,

With the above comment in mind, would you consider this patch
or would you prefer to increase the default timeout on Linux?
100ms seems a bit long and most devices seems to work within
that limit.  Additionally, this patch doesn't seem to be
required on all AMD platforms with the affected USB controller,
so I suspect the current timeout on Linux is probably about
right.  Increasing it seems to fix some of the marginal cases.

Alex

 drivers/pci/quirks.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 22b2bb1109c9..dea10d62d5b9 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1899,6 +1899,7 @@ static void quirk_ryzen_xhci_d3hot(struct pci_dev *dev)
 }
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x15e0, quirk_ryzen_xhci_d3hot);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x15e1, quirk_ryzen_xhci_d3hot);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x1639, quirk_ryzen_xhci_d3hot);
 
 #ifdef CONFIG_X86_IO_APIC
 static int dmi_disable_ioapicreroute(const struct dmi_system_id *d)
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [PATCH] PCI: quirks: Quirk PCI d3hot delay for AMD xhci
@ 2021-03-16 19:28 Alex Deucher
  2021-03-18 18:36 ` Bjorn Helgaas
  0 siblings, 1 reply; 11+ messages in thread
From: Alex Deucher @ 2021-03-16 19:28 UTC (permalink / raw)
  To: amd-gfx, linux-pci, bhelgaas, hegel666
  Cc: Prike.Liang, Shyam-sundar.S-k, Alex Deucher

From: Marcin Bachry <hegel666@gmail.com>

Renoir needs a similar delay.

Signed-off-by: Marcin Bachry <hegel666@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/pci/quirks.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 653660e3ba9e..36e5ec670fae 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1904,6 +1904,9 @@ static void quirk_ryzen_xhci_d3hot(struct pci_dev *dev)
 }
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x15e0, quirk_ryzen_xhci_d3hot);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x15e1, quirk_ryzen_xhci_d3hot);
+/* Renoir XHCI requires longer delay when transitioning from D0 to
+ * D3hot */
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x1639, quirk_ryzen_xhci_d3hot);
 
 #ifdef CONFIG_X86_IO_APIC
 static int dmi_disable_ioapicreroute(const struct dmi_system_id *d)
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-07-30 14:18 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-22  2:58 [PATCH] PCI: quirks: Quirk PCI d3hot delay for AMD xhci Alex Deucher
2021-07-29 20:39 ` Bjorn Helgaas
2021-07-29 20:42   ` Limonciello, Mario
2021-07-29 21:06     ` Bjorn Helgaas
2021-07-29 21:09       ` Limonciello, Mario
2021-07-29 21:30         ` Bjorn Helgaas
2021-07-29 21:34           ` Bjorn Helgaas
2021-07-30 14:17             ` Deucher, Alexander
  -- strict thread matches above, loose matches on Subject: below --
2021-03-16 19:28 Alex Deucher
2021-03-18 18:36 ` Bjorn Helgaas
2021-03-19 18:11   ` Alex Deucher

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