usb: hub: Per-port setting to use old enumeration scheme
The "old" enumeration scheme is considerably faster (it takes ~244ms instead of ~356ms to get the descriptor). It is currently only possible to use the old scheme globally (/sys/module/usbcore/parameters/old_scheme_first), which is not desirable as the new scheme was introduced to increase compatibility with more devices. However, in our case, we care about time-to-active for a specific USB device (which we make the firmware for), on a specific port (that is pogo-pin based: not a standard USB port). This new sysfs option makes it possible to use the old scheme on a single port only. Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
380375b937
commit
2524422715
@@ -189,6 +189,24 @@ Description:
|
||||
The file will read "hotplug", "wired" and "not used" if the
|
||||
information is available, and "unknown" otherwise.
|
||||
|
||||
What: /sys/bus/usb/devices/.../(hub interface)/portX/quirks
|
||||
Date: May 2018
|
||||
Contact: Nicolas Boichat <drinkcat@chromium.org>
|
||||
Description:
|
||||
In some cases, we care about time-to-active for devices
|
||||
connected on a specific port (e.g. non-standard USB port like
|
||||
pogo pins), where the device to be connected is known in
|
||||
advance, and behaves well according to the specification.
|
||||
This attribute is a bit-field that controls the behavior of
|
||||
a specific port:
|
||||
- Bit 0 of this field selects the "old" enumeration scheme,
|
||||
as it is considerably faster (it only causes one USB reset
|
||||
instead of 2).
|
||||
The old enumeration scheme can also be selected globally
|
||||
using /sys/module/usbcore/parameters/old_scheme_first, but
|
||||
it is often not desirable as the new scheme was introduced to
|
||||
increase compatibility with more devices.
|
||||
|
||||
What: /sys/bus/usb/devices/.../(hub interface)/portX/over_current_count
|
||||
Date: February 2018
|
||||
Contact: Richard Leitner <richard.leitner@skidata.com>
|
||||
|
Reference in New Issue
Block a user