mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
Add support for the SuperSpeed Link Layer test case TD.7.34
which requires the operator to place the port into compliance
mode, and to subsequently bring it out via reset. Historically
according to the (now deprecated) USB 3.0 specification a
SuperSpeed host downstream port would automatically transition
to Compliance mode from the Polling state if LFPS polling times
out. However the language in USB 3.1 as well as xHCI 1.1 states
it may be required to explicitly enable this transition. For
such hosts this is done by sending a SET_FEATURE(PORT_LINK_STATE)
with the state set to Compliance to the root hub port.
Similar to the other supported commands, to do this via sysfs:
echo > /sys/bus/usb/devices/2-0\:1.0/enable_compliance
According to xHCI 1.1 section 4.19.1.2.4.1, this enables the
transition to compliance mode upon LFPS timeout. Note that this
can only be issued when the port is in disconnected state. And
in order to disable this behavior on subsequent transitions, a
warm reset should be issued. So add another entry to do that:
echo > /sys/bus/usb/devices/2-0\:1.0/warm_reset
In general these attributes can also be useful for other USB
SuperSpeed compliance tests such as electrical and eye diagram
testing which require CPn patterns to be transmitted.
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
61 lines
2.2 KiB
Plaintext
61 lines
2.2 KiB
Plaintext
Link Layer Validation Device is a standard device for testing of Super
|
|
Speed Link Layer tests. These nodes are available in sysfs only when lvs
|
|
driver is bound with root hub device.
|
|
|
|
What: /sys/bus/usb/devices/.../get_dev_desc
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@gmail.com>
|
|
Description:
|
|
Write to this node to issue "Get Device Descriptor"
|
|
for Link Layer Validation device. It is needed for TD.7.06.
|
|
|
|
What: /sys/bus/usb/devices/.../u1_timeout
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@gmail.com>
|
|
Description:
|
|
Set "U1 timeout" for the downstream port where Link Layer
|
|
Validation device is connected. Timeout value must be between 0
|
|
and 127. It is needed for TD.7.18, TD.7.19, TD.7.20 and TD.7.21.
|
|
|
|
What: /sys/bus/usb/devices/.../u2_timeout
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@gmail.com>
|
|
Description:
|
|
Set "U2 timeout" for the downstream port where Link Layer
|
|
Validation device is connected. Timeout value must be between 0
|
|
and 127. It is needed for TD.7.18, TD.7.19, TD.7.20 and TD.7.21.
|
|
|
|
What: /sys/bus/usb/devices/.../hot_reset
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@gmail.com>
|
|
Description:
|
|
Write to this node to issue "Reset" for Link Layer Validation
|
|
device. It is needed for TD.7.29, TD.7.31, TD.7.34 and TD.7.35.
|
|
|
|
What: /sys/bus/usb/devices/.../u3_entry
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@gmail.com>
|
|
Description:
|
|
Write to this node to issue "U3 entry" for Link Layer
|
|
Validation device. It is needed for TD.7.35 and TD.7.36.
|
|
|
|
What: /sys/bus/usb/devices/.../u3_exit
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@gmail.com>
|
|
Description:
|
|
Write to this node to issue "U3 exit" for Link Layer
|
|
Validation device. It is needed for TD.7.36.
|
|
|
|
What: /sys/bus/usb/devices/.../enable_compliance
|
|
Date: July 2017
|
|
Description:
|
|
Write to this node to set the port to compliance mode to test
|
|
with Link Layer Validation device. It is needed for TD.7.34.
|
|
|
|
What: /sys/bus/usb/devices/.../warm_reset
|
|
Date: July 2017
|
|
Description:
|
|
Write to this node to issue "Warm Reset" for Link Layer Validation
|
|
device. It may be needed to properly reset an xHCI 1.1 host port if
|
|
compliance mode needed to be explicitly enabled.
|