Re: [PATCH v6 05/11] usb: gadget: composite: Report various SSP sublink speeds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux