All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@kernel.org>
To: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org, John Youn <John.Youn@synopsys.com>
Subject: Re: [PATCH] usb: dwc3: gadget: Support Multi-Stream Transfer
Date: Tue, 30 Nov 2021 09:23:36 +0200	[thread overview]
Message-ID: <87zgpmyuho.fsf@kernel.org> (raw)
In-Reply-To: <cd9c7a8bf11f790983ac546222dd114893f16b3a.1638242424.git.Thinh.Nguyen@synopsys.com>


Hi Thinh,

Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes:
> Synopsys introduced a new enhancement to DWC_usb32 called Multi-Stream
> Transfer (MST) to improve bulk streams performance for SuperSpeed and
> SuperSpeed Plus. This enhancement allows the controller to look ahead
> and process multiple bulk streams.

Finally!! This is a great improvement to the core :-)

> Previously, to initiate a bulk stream transfer, the driver has to issue
> Start Transfer command and wait for the stream to complete before
> initiating a new stream. As a result, the controller does not process
> TRBs beyond a single stream. With the enhancement, as long as there are
> new requests, the dwc3 driver can keep preparing new TRBs and the
> controller can keep caching and processing them without waiting for the
> transfer completion.
>
> The programming flow is similar to regular bulk endpoint with a few
> additional rules:
>
> 1) Chained TRBs of the same stream must have a matching stream ID
> 2) The last TRB of a stream must have CHN=0
> 3) All the TRBs with LST=0 must have CSP=1
>
> Depends on the application and usage, internal tests show significant
> performance improvement in UASP transfers with this enhancement.

Does this mean that we can now issue Start Transfer for each of the
streams on the same endpoint? Should we start having per-stream TRBs,
then? Maybe we don't need a full 256 TRBs for each stream, perhaps 16 to
32 TRBs for each stream ought to be enough?

-- 
balbi

  reply	other threads:[~2021-11-30  7:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-30  3:21 [PATCH] usb: dwc3: gadget: Support Multi-Stream Transfer Thinh Nguyen
2021-11-30  7:23 ` Felipe Balbi [this message]
2021-11-30 22:45   ` 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=87zgpmyuho.fsf@kernel.org \
    --to=balbi@kernel.org \
    --cc=John.Youn@synopsys.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.