Thinh Nguyen wrote: > Peter Chen wrote: >> On 21-01-14 06:16:18, Thinh Nguyen wrote: >>> Hi Peter, >>> >>> Peter Chen wrote: >>>> On 21-01-13 18:53:14, Thinh Nguyen wrote: >>>>> If a gadget supports SuperSpeed Plus, then it may operate in different >>>>> sublink speeds. For example, if the gadget supports SuperSpeed Plus >>>>> gen2x2, then it can support 2 sublink speeds gen1 and gen2. Inform the >>>>> host of these speeds in the BOS descriptor. >>>>> >>>> Hi Thinh, >>>> >>>> I read USB 3.2 spec: ch9.6.2.5 SuperSpeedPlus USB Device Capability >>>> >>>> Symmetric. Rx and Tx Sublinks have the same number of lanes and operate >>>> at the same speed. >>>> Asymmetric. Rx and Tx Sublink have different number of lanes and/or >>>> operate at different speeds. >>>> >>>> Why your below cases are all for symmetric, at least, the example 3 >>>> is asymmetric, it has different speed for sublink pairs? >>>> Does your below cases are specification defined or user defined? >>> USB 3.2 spec section 8.5.6.7: >>> Asymmetric lane types are only for SuperSpeed Interchip (SSIC). IMO, >>> It's unlikely that SSIC user will use Linux kernel. We can extend and >>> update the gadget framework if there's any use case for that. >>> >>> >>>>> Use 1 SSID if the gadget supports up to gen2x1, or not specified: >>>>> - SSID 0 for symmetric RX/TX sublink speed of 10 Gbps. >>>>> >>>>> Use 1 SSID if the gadget supports up to gen1x2: >>>>> - SSID 0 for symmetric RX/TX sublink speed of 5 Gbps. >>>>> >>>>> Use 2 SSIDs if the gadget supports up to gen2x2: >>>>> - SSID 0 for symmetric RX/TX sublink speed of 5 Gbps. >>>> Why SSID 0 is not 10Gbps? >>> SSID 0 and 1 are arbitrary, we can do 0 for 10Gbps. There's no >>> constraint or standard from the USB 3.2 spec. However, you need to set >>> the descriptor wFunctionalitySupport.SSID to be the minimum lane speed >>> SSID it supports. Using SSID 0 makes it easier since we don't have to >>> condition it for multiple SSIDs. >>> >>>>> - SSID 1 for symmetric RX/TX sublink speed of 10 Gbps. >>>> Besides, would you give me an example what kinds of system design >>>> will use below sublink speed? >>>> - SSID 0 for symmetric RX/TX sublink speed of 5 Gbps. >>>> - SSID 1 for symmetric RX/TX sublink speed of 10 Gbps. >>>> >>>> Peter >>> These 2 SSIDs indicate that the device is capable of running in gen1 and >>> gen2 in SSP. >>> >> Hi Thinh, >> >> I am puzzled, GEN2 is back compatible for GEN1. Then, what's the usage >> of this descriptor, what kinds of specific information the host wants to get? >> I think the host wants to get if two pairs of tx/rx are supported, that >> is what USB 3.2 adds. >> > Hi Peter, > > Yes, it's backward compatible. However Gen1x2 uses SuperSpeed Plus Link > Protocol. Single lane Gen 1 doesn't. This additional RX/TX sublink speed > attribute pair is telling the host that the device is capable of running > at Gen1x2 and Gen2x2. Host can use this information to know that the > device supports Gen 1 as SSP, and it can infer that the device supports > dual-lane. Otherwise, the host can only check for dual-lane support > after it receives a port status or sublink speed device notification TP. > Regardless, the gadget should describe all the sublink speeds the device > is capable of in the SSP capability descriptor. > Regarding checking port status and sublink speed device notification, I meant it as "connected" status and not capability. Thinh