Hi

A new version based on earlier suggestions and feedback.

The USB 3.2 specification adds support for Dual-lane, doubling the
maximum rate to 20Gbps by taking into use another set of rx and tx
wires and pins in the Type-C cable and connector.

The changes to support this in USB core and xhci driver seems to be minor.
USB 3.1 support already added the extended port status request returning
lane count. it just wasn't used before.

These patches add rx_lanes and tx_lanes variables to store the number of lanes
in use, and exposes them via sysfs.
It adds a Gen XxY notion to the string displayed when a new device is connected.
X in Gen XxY stands for signaling rate,
Y for lane count, as described in the USB 3.2 specification.

Example for clarification:
Gen 1 = 5Gbps, SuperSpeed, one lane, same as USB3.0, and USB 3.1 Gen1
Gen 2 = 10Gbps, SuperSpeedPlus, one lane, same as USB 3.1 Gen2
Gen 1x2 = 10Gbps, SuperSpeed, Dual-lane (2 x 5Gbps)
Gen 2x2 = 20Gbps, SuperSpeedPlus, Dual-lane (2 x 10Gbps)

changes since v1:
 - define HCD_USB32 speed option for hosts that support Dual-lane USB3.2
 - save both rx and tx lane counts instead of one "lanes"
 - expose rx_lanes and tx_lanes via sysfs
 - only show "x2" part in "Gen Xx2" for symmertic dual lane devices

Mathias Nyman (6):
  usb: define HCD_USB32 speed option for hosts that support USB 3.2
    dual-lane
  USB: Add support to store lane count used by USB 3.2
  usb: set root hub lane counts
  USB: show USB 3.2 Dual-lane devices as Gen Xx2 during device
    enumeration
  USB: USB 3.2 Add sysfs entries for a usb device rx_lanes and tx_lanes
  Documentation sysfs-bus-usb: Add rx_lanes and tx_lanes introduced in
    USB 3.2

 Documentation/ABI/testing/sysfs-bus-usb | 18 ++++++++++++++++++
 drivers/usb/core/hcd.c                  |  8 ++++++++
 drivers/usb/core/hub.c                  | 15 +++++++++++++--
 drivers/usb/core/sysfs.c                | 22 ++++++++++++++++++++++
 include/linux/usb.h                     |  4 ++++
 include/linux/usb/hcd.h                 |  1 +
 include/uapi/linux/usb/ch11.h           |  5 +++++
 7 files changed, 71 insertions(+), 2 deletions(-)

-- 
2.7.4

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

Reply via email to