2024-05-10 11:19:19 +00:00
|
|
|
From bab2f1e4e90675af7ea6b48b5c28eb94e22cecd7 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Jonathan Bell <jonathan@raspberrypi.com>
|
|
|
|
Date: Thu, 13 Jul 2023 15:06:54 +0100
|
|
|
|
Subject: [PATCH 0483/1085] usb: xhci: borrow upstream TRB_FETCH quirk on VL805
|
|
|
|
hosts
|
|
|
|
|
|
|
|
This reimplements 5a57342 usb: xhci: add VLI_TRB_CACHE_BUG quirk
|
|
|
|
|
|
|
|
The downstream implementation required a fair bit of driver surgery to
|
|
|
|
allow for truncated ring segments, which needed to shrink by a small
|
|
|
|
amount to avoid the cache prefetcher from reading off the end of one
|
|
|
|
segment and into another.
|
|
|
|
|
|
|
|
An upstream implementation for a similar bug on a different controller
|
|
|
|
just doubles the size of the memory allocated for ring segments, which
|
|
|
|
is a bit more wasteful (+4K per allocation) but means less code churn.
|
|
|
|
|
|
|
|
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|
|
|
---
|
|
|
|
drivers/usb/host/xhci-pci.c | 1 +
|
|
|
|
1 file changed, 1 insertion(+)
|
|
|
|
|
|
|
|
--- a/drivers/usb/host/xhci-pci.c
|
|
|
|
+++ b/drivers/usb/host/xhci-pci.c
|
2024-06-21 14:02:58 +00:00
|
|
|
@@ -490,6 +490,7 @@ static void xhci_pci_quirks(struct devic
|
2024-05-10 11:19:19 +00:00
|
|
|
xhci->quirks |= XHCI_LPM_SUPPORT;
|
|
|
|
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
|
|
|
|
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
|
|
|
|
+ xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|