Re: [PATCH] usb: xhci: add Immediate Data Transfer support

From: Felipe Balbi
Date: Wed Feb 20 2019 - 04:30:37 EST


Nicolas Saenz Julienne <nsaenzjulienne@xxxxxxx> writes:

> Immediate data transfers (IDT) allow the HCD to copy small chunks of
> data (up to 8bytes) directly into its output transfer TRBs. This avoids
> the somewhat expensive DMA mappings that are performed by default on
> most URBs submissions.
>
> In the case an URB was suitable for IDT. The data is directly copied
> into the "Data Buffer Pointer" region of the TRB and the IDT flag is
> set. Instead of triggering memory accesses the HC will use the data
> directly.
>
> The implementation could cover all kind of output endpoints. Yet
> Isochronous endpoints are bypassed as I was unable to find one that
> matched IDT's constraints. As we try to bypass the default DMA mappings
> on URB buffers we'd need to find a Isochronous device with an
> urb->transfer_buffer_length <= 8 bytes.
>
> The implementation takes into account that the 8 byte buffers provided
> by the URB will never cross a 64KB boundary.
>
> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@xxxxxxx>

This looks good to my eyes.

Reviewed-by: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx>

--
balbi

Attachment: signature.asc
Description: PGP signature