mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
32 lines
1.3 KiB
Diff
32 lines
1.3 KiB
Diff
From 41ba0febc5d69b5867ce1ad0b0852a0f59e16d16 Mon Sep 17 00:00:00 2001
|
|
From: Jonathan Bell <jonathan@raspberrypi.com>
|
|
Date: Thu, 19 Oct 2023 13:29:10 +0300
|
|
Subject: [PATCH 403/697] xhci: Use more event ring segment table entries
|
|
|
|
Users have reported log spam created by "Event Ring Full" xHC event
|
|
TRBs. These are caused by interrupt latency in conjunction with a very
|
|
busy set of devices on the bus. The errors are benign, but throughput
|
|
will suffer as the xHC will pause processing of transfers until the
|
|
event ring is drained by the kernel. Expand the number of event TRB slots
|
|
available by increasing the number of event ring segments in the ERST.
|
|
|
|
Controllers have a hardware-defined limit as to the number of ERST
|
|
entries they can process, so make the actual number in use
|
|
min(ERST_MAX_SEGS, hw_max).
|
|
|
|
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|
---
|
|
drivers/usb/host/xhci.h | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/usb/host/xhci.h
|
|
+++ b/drivers/usb/host/xhci.h
|
|
@@ -1392,7 +1392,7 @@ struct urb_priv {
|
|
};
|
|
|
|
/* Number of Event Ring segments to allocate, when amount is not specified. (spec allows 32k) */
|
|
-#define ERST_DEFAULT_SEGS 2
|
|
+#define ERST_DEFAULT_SEGS 8
|
|
/* Poll every 60 seconds */
|
|
#define POLL_TIMEOUT 60
|
|
/* Stop endpoint command timeout (secs) for URB cancellation watchdog timer */
|