Hi, Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx> writes: >>>>> 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@xxxxxxxxxxxx> >>>>> --- >>>>> 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. Sounds great, Thinh. Thanks for all the effort you've been putting here :-) -- balbi
Attachment:
signature.asc
Description: PGP signature