usb: add usb2 Link PM variables to sysfs and usb_device
Adds abitilty to tune L1 timeout (inactivity timer for usb2 link sleep) and BESL (best effort service latency)via sysfs. This also adds a new usb2_lpm_parameters structure with those variables to struct usb_device. Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
This commit is contained in:

committed by
Sarah Sharp

parent
a558ccdcc7
commit
17f34867e9
@@ -393,6 +393,22 @@ enum usb_port_connect_type {
|
||||
USB_PORT_NOT_USED,
|
||||
};
|
||||
|
||||
/*
|
||||
* USB 2.0 Link Power Management (LPM) parameters.
|
||||
*/
|
||||
struct usb2_lpm_parameters {
|
||||
/* Best effort service latency indicate how long the host will drive
|
||||
* resume on an exit from L1.
|
||||
*/
|
||||
unsigned int besl;
|
||||
|
||||
/* Timeout value in microseconds for the L1 inactivity (LPM) timer.
|
||||
* When the timer counts to zero, the parent hub will initiate a LPM
|
||||
* transition to L1.
|
||||
*/
|
||||
int timeout;
|
||||
};
|
||||
|
||||
/*
|
||||
* USB 3.0 Link Power Management (LPM) parameters.
|
||||
*
|
||||
@@ -488,6 +504,7 @@ struct usb3_lpm_parameters {
|
||||
* specific data for the device.
|
||||
* @slot_id: Slot ID assigned by xHCI
|
||||
* @removable: Device can be physically removed from this port
|
||||
* @l1_params: best effor service latency for USB2 L1 LPM state, and L1 timeout.
|
||||
* @u1_params: exit latencies for USB3 U1 LPM state, and hub-initiated timeout.
|
||||
* @u2_params: exit latencies for USB3 U2 LPM state, and hub-initiated timeout.
|
||||
* @lpm_disable_count: Ref count used by usb_disable_lpm() and usb_enable_lpm()
|
||||
@@ -568,6 +585,7 @@ struct usb_device {
|
||||
struct wusb_dev *wusb_dev;
|
||||
int slot_id;
|
||||
enum usb_device_removable removable;
|
||||
struct usb2_lpm_parameters l1_params;
|
||||
struct usb3_lpm_parameters u1_params;
|
||||
struct usb3_lpm_parameters u2_params;
|
||||
unsigned lpm_disable_count;
|
||||
|
Reference in New Issue
Block a user