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]

 



On 21-01-15 02:56:37, Thinh Nguyen wrote:
> 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.
> 

Thanks for explaining it, Thinh

-- 

Thanks,
Peter Chen




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

  Powered by Linux