aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/usb.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h
index fe444989668a..a232b7ece1f6 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -394,6 +394,22 @@ enum usb_port_connect_type {
394}; 394};
395 395
396/* 396/*
397 * USB 2.0 Link Power Management (LPM) parameters.
398 */
399struct usb2_lpm_parameters {
400 /* Best effort service latency indicate how long the host will drive
401 * resume on an exit from L1.
402 */
403 unsigned int besl;
404
405 /* Timeout value in microseconds for the L1 inactivity (LPM) timer.
406 * When the timer counts to zero, the parent hub will initiate a LPM
407 * transition to L1.
408 */
409 int timeout;
410};
411
412/*
397 * USB 3.0 Link Power Management (LPM) parameters. 413 * USB 3.0 Link Power Management (LPM) parameters.
398 * 414 *
399 * PEL and SEL are USB 3.0 Link PM latencies for device-initiated LPM exit. 415 * PEL and SEL are USB 3.0 Link PM latencies for device-initiated LPM exit.
@@ -488,6 +504,7 @@ struct usb3_lpm_parameters {
488 * specific data for the device. 504 * specific data for the device.
489 * @slot_id: Slot ID assigned by xHCI 505 * @slot_id: Slot ID assigned by xHCI
490 * @removable: Device can be physically removed from this port 506 * @removable: Device can be physically removed from this port
507 * @l1_params: best effor service latency for USB2 L1 LPM state, and L1 timeout.
491 * @u1_params: exit latencies for USB3 U1 LPM state, and hub-initiated timeout. 508 * @u1_params: exit latencies for USB3 U1 LPM state, and hub-initiated timeout.
492 * @u2_params: exit latencies for USB3 U2 LPM state, and hub-initiated timeout. 509 * @u2_params: exit latencies for USB3 U2 LPM state, and hub-initiated timeout.
493 * @lpm_disable_count: Ref count used by usb_disable_lpm() and usb_enable_lpm() 510 * @lpm_disable_count: Ref count used by usb_disable_lpm() and usb_enable_lpm()
@@ -568,6 +585,7 @@ struct usb_device {
568 struct wusb_dev *wusb_dev; 585 struct wusb_dev *wusb_dev;
569 int slot_id; 586 int slot_id;
570 enum usb_device_removable removable; 587 enum usb_device_removable removable;
588 struct usb2_lpm_parameters l1_params;
571 struct usb3_lpm_parameters u1_params; 589 struct usb3_lpm_parameters u1_params;
572 struct usb3_lpm_parameters u2_params; 590 struct usb3_lpm_parameters u2_params;
573 unsigned lpm_disable_count; 591 unsigned lpm_disable_count;