docs: scope USB P7-B — real work is SEL/PEL timeout computation, not register writes

Upstream xhci_calculate_lpm_timeout needs SuperSpeed endpoint companion
SEL/PEL parsing across the hub tree + tier policy + XHCI_LPM_SUPPORT
vendor quirk. Defaults-only timeout writes would be speculative and can
break device links. P7-B assigned a dedicated workstream.
This commit is contained in:
2026-07-20 19:27:00 +09:00
parent 1aae92524f
commit cd9b225e39
+12
View File
@@ -699,6 +699,18 @@ defensive LPM clear runs on USB2 ports at attach when unsupported.
**Reference:** `linux-7.1/drivers/usb/host/xhci-port.h:17-30`, `xhci.c:2800+` `xhci_stop_device()`.
**Scoping audit (2026-07-20):** U1/U2 timeout *register* programming is trivial
(xhci-hub.c:1488-1510, `PORT_U1/U2_TIMEOUT` in PORTPMSC), but the real work is
upstream's timeout *computation*: `xhci_calculate_lpm_timeout` requires
per-endpoint SEL/PEL from SuperSpeed endpoint companion descriptors across the
hub tree, `calculate_max_exit_latency`, `xhci_check_tier_policy`, and only
engages for controllers carrying the `XHCI_LPM_SUPPORT` quirk (vendor
whitelist — "don't enable hub-initiated timeouts unless the vendor has
provided information about their timeout algorithm"). A defaults-only
implementation would be speculative non-upstream behavior that can break
device links on real hardware. P7-B therefore needs a dedicated workstream
covering endpoint-companion parsing + SEL/PEL plumbing first.
**Tasks:**
1. Implement U1/U2 entry per port via `PORT_U1_TIMEOUT` / `PORT_U2_TIMEOUT` registers.