DMA over USB

Raghavendra arrao at cdac.in
Wed Jul 2 01:10:21 EDT 2014


Hello,

I have a query regarding DMA(Direct Memory Access) for the usb devices.

The understanding of DMA actions over PCI is straight forward. PCI 
devices support bus mastering capability, such that the PCI devices 
could take the ownership of the bus and perform access to the memory 
directly, and a software support exists for the same in Linux.

As far as USB devices are concerned, they don’t have the bus mastering 
capability like the PCI devices.
But the USB URB structure have a field named 'dma_addr_t transfer_dma', 
used for DMA access. The USB driver allocate the DMA buffers coherently 
and pass the DMA address to the URBs during its initialization.
As far as Linux is concerned, how the DMA action being taking place for 
USB devices. As per my understanding, the USB host controller is taking 
care of the DMA operations. But I require a little more insight into it.

Further more, if it is possible for the USB devices, then can this 
support be also extended towards low-end protocols such as I2C or SPI?

Thanks,
Raghavendra

-------------------------------------------------------------------------------------------------------------------------------
[ C-DAC is on Social-Media too. Kindly follow us at:
Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ]

This e-mail is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. If you are not the
intended recipient, please contact the sender by reply e-mail and destroy
all copies and the original message. Any unauthorized review, use,
disclosure, dissemination, forwarding, printing or copying of this email
is strictly prohibited and appropriate legal action will be taken.
-------------------------------------------------------------------------------------------------------------------------------




More information about the Kernelnewbies mailing list