DMA over USB

Greg KH greg at kroah.com
Wed Jul 2 01:32:37 EDT 2014


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?

thanks,

greg k-h



More information about the Kernelnewbies mailing list