diff mbox series

[v2] xhci: Apply XHCI_RESET_TO_DEFAULT quirk to TGL

Message ID 20240614002917.4014146-1-rekanorman@chromium.org (mailing list archive)
State Accepted
Commit b4c87bc5ce9292d494d9354e25cc8ea152fbcbbd
Headers show
Series [v2] xhci: Apply XHCI_RESET_TO_DEFAULT quirk to TGL | expand

Commit Message

Reka Norman June 14, 2024, 12:28 a.m. UTC
TGL systems have the same issue as ADL, where a large boot firmware
delay is seen if USB ports are left in U3 at shutdown. So apply the
XHCI_RESET_TO_DEFAULT quirk to TGL as well.

The issue it fixes is a ~20s boot time delay when booting from S5. It
affects TGL devices, and TGL support was added starting from v5.3.

Cc: stable@vger.kernel.org
Signed-off-by: Reka Norman <rekanorman@chromium.org>
---

Changes in v2:
- Add cc stable

 drivers/usb/host/xhci-pci.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Mathias Nyman June 19, 2024, 11:09 a.m. UTC | #1
On 14.6.2024 3.28, Reka Norman wrote:
> TGL systems have the same issue as ADL, where a large boot firmware
> delay is seen if USB ports are left in U3 at shutdown. So apply the
> XHCI_RESET_TO_DEFAULT quirk to TGL as well.
> 
> The issue it fixes is a ~20s boot time delay when booting from S5. It
> affects TGL devices, and TGL support was added starting from v5.3.
> 
> Cc: stable@vger.kernel.org
> Signed-off-by: Reka Norman <rekanorman@chromium.org>

Added to queue

Thanks
Mathias
diff mbox series

Patch

diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index c040d816e626..137bd3da1128 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -49,6 +49,7 @@ 
 #define PCI_DEVICE_ID_INTEL_DENVERTON_XHCI		0x19d0
 #define PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI		0x8a13
 #define PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI		0x9a13
+#define PCI_DEVICE_ID_INTEL_TIGER_LAKE_PCH_XHCI		0xa0ed
 #define PCI_DEVICE_ID_INTEL_COMET_LAKE_XHCI		0xa3af
 #define PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI		0x51ed
 #define PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_PCH_XHCI	0x54ed
@@ -372,7 +373,8 @@  static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
 		xhci->quirks |= XHCI_MISSING_CAS;
 
 	if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
-	    (pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI ||
+	    (pdev->device == PCI_DEVICE_ID_INTEL_TIGER_LAKE_PCH_XHCI ||
+	     pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI ||
 	     pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_PCH_XHCI))
 		xhci->quirks |= XHCI_RESET_TO_DEFAULT;