diff --git a/local/docs/USB-IMPLEMENTATION-PLAN.md b/local/docs/USB-IMPLEMENTATION-PLAN.md index f46fe4975d..80a129ced3 100644 --- a/local/docs/USB-IMPLEMENTATION-PLAN.md +++ b/local/docs/USB-IMPLEMENTATION-PLAN.md @@ -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.