linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Chen <hzpeterchen@gmail.com>
To: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: Felipe Balbi <balbi@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	John Youn <John.Youn@synopsys.com>
Subject: Re: [PATCH v6 05/11] usb: gadget: composite: Report various SSP sublink speeds
Date: Sat, 16 Jan 2021 21:37:42 +0800	[thread overview]
Message-ID: <20210116133741.GA18285@b29397-desktop> (raw)
In-Reply-To: <2ef9de95-6213-3753-00ee-97e6c5ea6d43@synopsys.com>

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


  reply	other threads:[~2021-01-16 17:11 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-14  2:52 [PATCH v6 00/11] usb: Support USB 3.2 multi-lanes Thinh Nguyen
2021-01-14  2:52 ` [PATCH v6 01/11] usb: ch9: Add USB 3.2 SSP attributes Thinh Nguyen
2021-01-14  9:58   ` Felipe Balbi
2021-01-14 18:58     ` Thinh Nguyen
2021-01-15 11:08       ` Felipe Balbi
2021-01-16  4:03         ` Thinh Nguyen
2021-01-18 11:32           ` Felipe Balbi
2021-01-14  2:52 ` [PATCH v6 02/11] usb: gadget: composite: Use SSP sublink speed macros Thinh Nguyen
2021-01-14  2:53 ` [PATCH v6 03/11] usb: gadget: Introduce SSP rates and lanes Thinh Nguyen
2021-01-14  2:53 ` [PATCH v6 04/11] usb: gadget: Introduce udc_set_ssp_rate() for SSP Thinh Nguyen
2021-01-14  2:53 ` [PATCH v6 05/11] usb: gadget: composite: Report various SSP sublink speeds Thinh Nguyen
2021-01-14  5:47   ` Peter Chen
2021-01-14  6:16     ` Thinh Nguyen
2021-01-15  0:51       ` Peter Chen
2021-01-15  2:40         ` Thinh Nguyen
2021-01-15  2:56           ` Thinh Nguyen
2021-01-16 13:37             ` Peter Chen [this message]
2021-01-14  2:53 ` [PATCH v6 06/11] dt-binding: usb: Include USB SSP rates in GenXxY Thinh Nguyen
2021-01-14  2:53 ` [PATCH v6 07/11] usb: common: Parse for USB SSP genXxY Thinh Nguyen
2021-01-14  2:53 ` [PATCH v6 08/11] usb: dwc3: core: Check maximum_speed " Thinh Nguyen
2021-01-14  2:53 ` [PATCH v6 09/11] usb: dwc3: gadget: Implement setting of SSP rate Thinh Nguyen
2021-01-14 10:02   ` Felipe Balbi
2021-01-14 18:17     ` Thinh Nguyen
2021-01-15 11:13       ` Felipe Balbi
2021-01-14  2:53 ` [PATCH v6 10/11] usb: dwc3: gadget: Track connected SSP rate and lane count Thinh Nguyen
2021-01-14  2:53 ` [PATCH v6 11/11] usb: dwc3: gadget: Set speed only up to the max supported Thinh Nguyen
2021-01-18 17:42 ` [PATCH v6 00/11] usb: Support USB 3.2 multi-lanes Greg Kroah-Hartman
2021-01-20  1:38   ` Thinh Nguyen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210116133741.GA18285@b29397-desktop \
    --to=hzpeterchen@gmail.com \
    --cc=John.Youn@synopsys.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=balbi@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).