Commit fbadc72
usb: xhci: default to Intel scheme for calculating U1/U2 timeouts
By default, the System Exit Latency and Maximum Exit Latency are used to
calculate hub port U1 and U2 timeout values. This has the effect of
aggressively power-managing a SuperSpeed link but devices are known to
report unfeasibly short device exit latencies in their descriptors,
which under certain usage conditions can significantly degrade
throughput as the link spends longer retraining than being in a useable
state.
The Intel heuristic approach calculates a reasonably large
endpoint-dependent U1 timeout, and uses a minimum U2 timeout that is
several multiples of typical U2 exit latencies.
Add a module parameter that defaults to using this scheme.
This should have the effect of squelching interop edge-cases where LPM
noticeably degrades performance, and avoid the usual workaround where
userspace manually disables it.
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>1 parent 1af55c5 commit fbadc72
1 file changed
+6
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
42 | 46 | | |
43 | 47 | | |
44 | 48 | | |
| |||
4807 | 4811 | | |
4808 | 4812 | | |
4809 | 4813 | | |
4810 | | - | |
| 4814 | + | |
4811 | 4815 | | |
4812 | 4816 | | |
4813 | 4817 | | |
| |||
4871 | 4875 | | |
4872 | 4876 | | |
4873 | 4877 | | |
4874 | | - | |
| 4878 | + | |
4875 | 4879 | | |
4876 | 4880 | | |
4877 | 4881 | | |
| |||
0 commit comments