Messages in this thread | | | From | Felipe Balbi <> | Subject | Re: [PATCH] usb: xhci: add Immediate Data Transfer support | Date | Wed, 20 Feb 2019 11:30:28 +0200 |
| |
Nicolas Saenz Julienne <nsaenzjulienne@suse.de> 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@suse.de>
This looks good to my eyes.
Reviewed-by: Felipe Balbi <felipe.balbi@linux.intel.com>
-- balbi [unhandled content-type:application/pgp-signature] | |