DMA over USB

Greg KH greg at kroah.com
Wed Jul 2 02:12:41 EDT 2014


On Wed, Jul 02, 2014 at 11:32:47AM +0530, Raghavendra wrote:
> On Wednesday 02 July 2014 11:02 AM, Greg KH wrote:
> >On Tue, Jul 01, 2014 at 10:29:39PM -0700, Greg KH wrote:
> >>On Wed, Jul 02, 2014 at 10:40:21AM +0530, Raghavendra wrote:
> >>>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.
> >>Why, what exactly are you concerned about?  What are you trying to do?
> >Also, you _have_ read the USB DMA documentation, right?
> >
> >What about the documentation in this area is unclear?
> Yes, I have read the documentation and its fine. I am mostly concerned about
> the all the heavy lifting happening in the background.

Why?  What exactly are you "concerned" about?  What hardware controller?
Is something not working properly?

greg k-h



More information about the Kernelnewbies mailing list