Dear Linux USB folks,
With commit 85724edec (Merge tag 'leds_for_4.12' of
git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds),
testing the resume time on a Lenovo X60t connected to the docking
station with the script `analyze_suspend.py` [1][2], one USB
controller(?) needs the most time with 376 ms.
> usb @ 17ef:1000 [5-6] {usb} async_device (Total Suspend: 88.202 ms Total
> Resume: 376.385 ms)
Around 270 ms are spent in `generic_resume [usbcore]`.
Please find the compressed HTML result page attached, which was created
with `sudo ./analyze_suspend.py -config config/suspend-callgraph.cfg`.
Here is some more information about the devices.
```
$ lspci -nn -s 00:1d -v
00:1d.0 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI
Controller #1 [8086:27c8] (rev 02) (prog-if 00 [UHCI])
Subsystem: Lenovo ThinkPad R60/T60/X60 series [17aa:200a]
Flags: medium devsel, IRQ 16
I/O ports at 5000 [size=32]
Kernel driver in use: uhci_hcd
00:1d.1 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI
Controller #2 [8086:27c9] (rev 02) (prog-if 00 [UHCI])
Subsystem: Lenovo ThinkPad R60/T60/X60 series [17aa:200a]
Flags: medium devsel, IRQ 17
I/O ports at 5020 [size=32]
Kernel driver in use: uhci_hcd
00:1d.2 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI
Controller #3 [8086:27ca] (rev 02) (prog-if 00 [UHCI])
Subsystem: Lenovo ThinkPad R60/T60/X60 series [17aa:200a]
Flags: medium devsel, IRQ 18
I/O ports at 5040 [size=32]
Kernel driver in use: uhci_hcd
00:1d.3 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI
Controller #4 [8086:27cb] (rev 02) (prog-if 00 [UHCI])
Subsystem: Lenovo ThinkPad R60/T60/X60 series [17aa:200a]
Flags: medium devsel, IRQ 19
I/O ports at 5060 [size=32]
Kernel driver in use: uhci_hcd
00:1d.7 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB2 EHCI
Controller [8086:27cc] (rev 02) (prog-if 20 [EHCI])
Subsystem: Lenovo ThinkPad R60/T60/X60 series [17aa:200b]
Flags: medium devsel, IRQ 19
Memory at e4444000 (32-bit, non-prefetchable) [size=1K]
Capabilities: <access denied>
Kernel driver in use: ehci-pci
$ sudo lsusb -d 17ef:1000 -v
Bus 005 Device 002: ID 17ef:1000 Lenovo
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 2 TT per port
bMaxPacketSize0 64
idVendor 0x17ef Lenovo
idProduct 0x1000
bcdDevice 0.01
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 41
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 1 Single TT
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 2 TT per port
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 4
wHubCharacteristic 0x0009
Per-port power switching
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 50 * 2 milli seconds
bHubContrCurrent 1 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0100 power
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
```
Can there something be done about that?
Thanks,
Paul
[1] https://01.org/suspendresume
[2] https://github.com/01org/pm-graph
lenovo_x60t_mem.html.7z
Description: application/7z-compressed
signature.asc
Description: This is a digitally signed message part
