Re: [RFC v2] xhci-hub: Roothub USB2.0 descriptor for BESL DBESL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 08, 2013 at 05:24:46PM -0700, Alexandra Yates wrote:
> Modified the xHCI roothub descriptor to return USB2.0 extension
> descriptor Best Effort Service Latency (BESL) and Deep Best Effort
> Service Latency (DBESL) values when set on the xHCI host.
> 
> On link power management the BESL and DBESL values are used to
> estimate L1 exit latency for USB2.0 host and devices. Tools such as
> PowerTop and lsusb will use BESL and DBESL values to
> monitor LPM L1 exit latency.  Additionally, by presenting the host
> controller BESL and DBESL values one could check if the BIOS or
> firmware is setting these values correctly.
> 
> Currently the root hub device descriptor bcdUSB value is set to zero by
> the BIOS. Therefore to test this functionality with lsusb, I hard
> coded the usb2_rh_dev_descriptor (not include on patch) to:
> 	bcdUSB 0x01.
> 
> Here is the test output.
> $ sudo lsusb -s 01:01 -v
> ...
>     Binary Object Store Descriptor:
>         bLength                 5
>         bDescriptorType        15
>         wTotalLength           12
>         bNumDeviceCaps          1
>         USB 2.0 Extension Device Capability:
>           bLength                 7
>           bDescriptorType        16
>           bDevCapabilityType      2
>           bmAttributes   0x0000ff1e
>             BESL Link Power Management (LPM) Supported
>           BESL value     3840 us
>           Deep BESL value    61440 us
>       Device Status:     0x0001
>         Self Powered
> 
> Signed-off-by: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx>
> ---
>  drivers/usb/host/xhci-hub.c |   53 +++++++++++++++++++++++++++++++++++++++----
>  drivers/usb/host/xhci.h     |    3 +++
>  2 files changed, 51 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
> index 1d35459..60601df 100644
> --- a/drivers/usb/host/xhci-hub.c
> +++ b/drivers/usb/host/xhci-hub.c
> @@ -30,7 +30,7 @@
>  			 PORT_RC | PORT_PLC | PORT_PE)
>  
>  /* USB 3.0 BOS descriptor and a capability descriptor, combined */
> -static u8 usb_bos_descriptor [] = {
> +static u8 usb3_bos_descriptor[] = {
>  	USB_DT_BOS_SIZE,		/*  __u8 bLength, 5 bytes */
>  	USB_DT_BOS,			/*  __u8 bDescriptorType */
>  	0x0F, 0x00,			/*  __le16 wTotalLength, 15 bytes */
> @@ -47,6 +47,28 @@ static u8 usb_bos_descriptor [] = {
>  	0x00, 0x00			/* __le16 bU2DevExitLat, set later. */
>  };
>  
> +/* USB 3.0 BOS descriptor and a capability descriptor, combined */
> +static u8 usb2_bos_descriptor[] = {

I don't think that comment is correct, right?

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux