linux/drivers/usb
Mathias Nyman 1bf2761c83 usb: hub: Fix link power management max exit latency (MEL) calculations
Maximum Exit Latency (MEL) value is used by host to know how much in
advance it needs to start waking up a U1/U2 suspended link in order to
service a periodic transfer in time.

Current MEL calculation only includes the time to wake up the path from
U1/U2 to U0. This is called tMEL1 in USB 3.1 section C 1.5.2

Total MEL = tMEL1 + tMEL2 +tMEL3 + tMEL4 which should additinally include:
- tMEL2 which is the time it takes for PING message to reach device
- tMEL3 time for device to process the PING and submit a PING_RESPONSE
- tMEL4 time for PING_RESPONSE to traverse back upstream to host.

Add the missing tMEL2, tMEL3 and tMEL4 to MEL calculation.

Cc: <stable@kernel.org> # v3.5
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210715150122.1995966-1-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-07-21 09:11:19 +02:00
..
atm usb: atm: cxacru: Fix typo in comment 2021-05-21 20:05:40 +02:00
c67x00 usb/c67x00: Replace tasklet with work 2021-01-26 18:36:37 +01:00
cdns3 USB / Thunderbolt patches for 5.14-rc1 2021-07-05 14:16:22 -07:00
chipidea Linux 5.13-rc7 2021-06-21 10:56:05 +02:00
class USB / Thunderbolt patches for 5.14-rc1 2021-07-05 14:16:22 -07:00
common usb: common: ulpi: Add leading underscores for function name '__ulpi_register_driver()' 2021-05-27 09:45:27 +02:00
core usb: hub: Fix link power management max exit latency (MEL) calculations 2021-07-21 09:11:19 +02:00
dwc2 usb: dwc2: Don't reset the core after setting turnaround time 2021-06-09 11:25:07 +02:00
dwc3 usb: dwc3: Fix debugfs creation flow 2021-06-21 11:28:18 +02:00
early usb: early: ehci-dbgp: convert to readl_poll_timeout_atomic() 2020-09-25 16:29:09 +02:00
gadget USB / Thunderbolt patches for 5.14-rc1 2021-07-05 14:16:22 -07:00
host xhci: Fix lost USB 2 remote wake 2021-07-21 09:10:20 +02:00
image
isp1760 usb: isp1760: Fix meaningless check in isp1763_run() 2021-06-15 15:40:58 +02:00
misc usb: ftdi-elan: remove redundant continue statement in a while-loop 2021-06-24 14:12:09 +02:00
mon
mtu3 usb: mtu3: use clock bulk to get clocks 2021-06-15 15:46:45 +02:00
musb usb: musb: Implement tracing for state change events 2021-06-14 10:25:16 +02:00
phy usb: phy: tegra: Correct definition of B_SESS_VLD_WAKEUP_EN bit 2021-06-15 15:36:23 +02:00
renesas_usbhs usb: renesas_usbhs: fix error return code of usbhsf_pkt_handler() 2021-03-23 12:42:15 +01:00
roles usb: roles: add helper usb_role_string() 2021-05-27 09:17:18 +02:00
serial USB / Thunderbolt patches for 5.14-rc1 2021-07-05 14:16:22 -07:00
storage scsi: core: Kill DRIVER_SENSE 2021-05-31 22:48:21 -04:00
typec usb: typec: tipd: Don't block probing of consumer of "connector" nodes 2021-07-21 09:10:45 +02:00
usbip Scheduler updates for this cycle are: 2021-04-28 13:33:57 -07:00
Kconfig
Makefile usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver 2020-12-29 12:36:13 +08:00
usb-skeleton.c