usb: gadget: Introduce usb_request->is_last
To take advantage of DWC3 internal TRB prefetch and cache for performance, inform the controller the last request with stream_id before switching to a different stream transfer. This allows the controller to maintain its transfer burst within the stream ID. Introduce the usb-request is_last field to help inform the DWC3 controller of this. Signed-off-by: Thinh Nguyen <thinhn@synopsys.com> Signed-off-by: Felipe Balbi <balbi@kernel.org>
This commit is contained in:
parent
4244ba02ed
commit
5469fd64ef
|
@ -42,6 +42,8 @@ struct usb_ep;
|
|||
* @num_mapped_sgs: number of SG entries mapped to DMA (internal)
|
||||
* @length: Length of that data
|
||||
* @stream_id: The stream id, when USB3.0 bulk streams are being used
|
||||
* @is_last: Indicates if this is the last request of a stream_id before
|
||||
* switching to a different stream (required for DWC3 controllers).
|
||||
* @no_interrupt: If true, hints that no completion irq is needed.
|
||||
* Helpful sometimes with deep request queues that are handled
|
||||
* directly by DMA controllers.
|
||||
|
@ -104,6 +106,7 @@ struct usb_request {
|
|||
unsigned num_mapped_sgs;
|
||||
|
||||
unsigned stream_id:16;
|
||||
unsigned is_last:1;
|
||||
unsigned no_interrupt:1;
|
||||
unsigned zero:1;
|
||||
unsigned short_not_ok:1;
|
||||
|
|
Loading…
Reference in a new issue