Name

usb_buffer_map — create DMA mapping(s) for an urb

Synopsis

struct urb * usb_buffer_map (struct urb * urb);

Arguments

urb

urb whose transfer_buffer/setup_packet will be mapped

Description

Return value is either null (indicating no buffer could be mapped), or the parameter. URB_NO_TRANSFER_DMA_MAP and URB_NO_SETUP_DMA_MAP are added to urb->transfer_flags if the operation succeeds. If the device is connected to this system through a non-DMA controller, this operation always succeeds.

This call would normally be used for an urb which is reused, perhaps as the target of a large periodic transfer, with usb_buffer_dmasync calls to synchronize memory and dma state.

Reverse the effect of this call with usb_buffer_unmap.