diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-06-06 18:21:02 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-06-06 18:21:02 -0400 |
commit | 1c83d94ff646001f9ee83f0330a3933b55660927 (patch) | |
tree | 13733a673705e1fba9371eb328b15b7c2e81eea2 /include/linux | |
parent | 3a57aa8161a06133bc3142327f3b2f1a9a50f6c8 (diff) | |
parent | 17f34867e98d2fb0c03918faab79efb989fa134b (diff) |
Merge tag 'for-usb-next-2013-06-06' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-next
Sarah writes:
xHCI: USB 2.0 Link PM and misc cleanup patches
Hi Greg,
Here's six patches to be queued for 3.11.
The first four add support for a new type of host hardware-managed USB
2.0 Link Power Management. Hosts with BESL support, including Intel
Haswell ULT systems, will now be able to have USB 2.0 devices go into
the lower power link state (L1) in between packets. These patches have
been tested on Haswell ULT platforms with USB 2.0 webcams that support
Link PM.
The other two patches are clean up. One from Julius clarifies the xHCI
endpoint context debugging to make it consistent with standard endpoint
addresses, instead of xHCI endpoint context indexes. The one from Alex
changes the xHCI driver to be consistent about passing a void pointer to
the xHCI IRQ handler.
Sarah Sharp
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/usb.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h index b424e5318f20..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 | */ | ||
399 | struct 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. |
@@ -468,6 +484,7 @@ struct usb3_lpm_parameters { | |||
468 | * @wusb: device is Wireless USB | 484 | * @wusb: device is Wireless USB |
469 | * @lpm_capable: device supports LPM | 485 | * @lpm_capable: device supports LPM |
470 | * @usb2_hw_lpm_capable: device can perform USB2 hardware LPM | 486 | * @usb2_hw_lpm_capable: device can perform USB2 hardware LPM |
487 | * @usb2_hw_lpm_besl_capable: device can perform USB2 hardware BESL LPM | ||
471 | * @usb2_hw_lpm_enabled: USB2 hardware LPM enabled | 488 | * @usb2_hw_lpm_enabled: USB2 hardware LPM enabled |
472 | * @usb3_lpm_enabled: USB3 hardware LPM enabled | 489 | * @usb3_lpm_enabled: USB3 hardware LPM enabled |
473 | * @string_langid: language ID for strings | 490 | * @string_langid: language ID for strings |
@@ -487,6 +504,7 @@ struct usb3_lpm_parameters { | |||
487 | * specific data for the device. | 504 | * specific data for the device. |
488 | * @slot_id: Slot ID assigned by xHCI | 505 | * @slot_id: Slot ID assigned by xHCI |
489 | * @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. | ||
490 | * @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. |
491 | * @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. |
492 | * @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() |
@@ -538,6 +556,7 @@ struct usb_device { | |||
538 | unsigned wusb:1; | 556 | unsigned wusb:1; |
539 | unsigned lpm_capable:1; | 557 | unsigned lpm_capable:1; |
540 | unsigned usb2_hw_lpm_capable:1; | 558 | unsigned usb2_hw_lpm_capable:1; |
559 | unsigned usb2_hw_lpm_besl_capable:1; | ||
541 | unsigned usb2_hw_lpm_enabled:1; | 560 | unsigned usb2_hw_lpm_enabled:1; |
542 | unsigned usb3_lpm_enabled:1; | 561 | unsigned usb3_lpm_enabled:1; |
543 | int string_langid; | 562 | int string_langid; |
@@ -566,6 +585,7 @@ struct usb_device { | |||
566 | struct wusb_dev *wusb_dev; | 585 | struct wusb_dev *wusb_dev; |
567 | int slot_id; | 586 | int slot_id; |
568 | enum usb_device_removable removable; | 587 | enum usb_device_removable removable; |
588 | struct usb2_lpm_parameters l1_params; | ||
569 | struct usb3_lpm_parameters u1_params; | 589 | struct usb3_lpm_parameters u1_params; |
570 | struct usb3_lpm_parameters u2_params; | 590 | struct usb3_lpm_parameters u2_params; |
571 | unsigned lpm_disable_count; | 591 | unsigned lpm_disable_count; |