Thread (28 messages) flat view 28 messages, 4 authors, 2021-01-20

Re: [PATCH v6 01/11] usb: ch9: Add USB 3.2 SSP attributes

From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Date: 2021-01-16 04:04:18

Felipe Balbi wrote:
Hi,

Thinh Nguyen [off-list ref] writes:
quoted
Felipe Balbi wrote:
quoted
Thinh Nguyen [off-list ref] writes:
quoted
In preparation for USB 3.2 dual-lane support, add sublink speed
attribute macros and enum usb_ssp_rate. A USB device that operates in
SuperSpeed Plus may operate at different speed and lane count. These
additional macros and enum values help specifying that.

Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
---
Changes in v6:
- Rebase on Greg's usb-testing branch
- Convert the sublink speed attribute enum to macros and move it to uapi
- Remove usb_sublink_speed struct
- To simplify things, use usb_ssp_rate enum to specify the signaling rate
  generation and lane count
- Update commit message
Changes in v5:
- Rebase on Felipe's testing/next branch
- Changed Signed-off-by email to match From: email header
Changes in v4:
- None
Changes in v3:
- None
Changes in v2:
- Move to include/linux/usb/ch9.h instead of under uapi

 include/linux/usb/ch9.h      |  9 +++++++++
 include/uapi/linux/usb/ch9.h | 13 +++++++++++++
 2 files changed, 22 insertions(+)
diff --git a/include/linux/usb/ch9.h b/include/linux/usb/ch9.h
index 604c6c514a50..86c50907634e 100644
--- a/include/linux/usb/ch9.h
+++ b/include/linux/usb/ch9.h
@@ -36,6 +36,15 @@
 #include <linux/device.h>
 #include <uapi/linux/usb/ch9.h>
 
+/* USB 3.2 SuperSpeed Plus phy signaling rate generation and lane count */
+
+enum usb_ssp_rate {
+	USB_SSP_GEN_UNKNOWN = 0,
+	USB_SSP_GEN_2x1,
+	USB_SSP_GEN_1x2,
+	USB_SSP_GEN_2x2,
+};
note that xHCI has some private definitions for USB 3.2 support. Maybe
add a patch converting xHCI to the generic versions?
Should it be part of this series? I plan to do that after this series is
merged to help minimize the review effort.
As long as it's part of your TODO list, should be good :-)
Yeah, it's on my list. Currently Linux xHCI driver doesn't really check
for USB 3.2. It's missing the root hub sublink speed capability
descriptors for gen1x2 and gen2x2. So it's missing some xHCI defined
default port speed ID as SSID for gen1x2 and gen2x2. The Linux xHCI
right now may think that the connected dual-lane device may not be a SSP
device because it doesn't match the SSID from the extended port status.

There are more patches for dwc3 and some for xHCI on queue that
hopefully get cleaned up and pushed out eventually.

BR,
Thinh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help