From mboxrd@z Thu Jan 1 00:00:00 1970 From: greg@kroah.com (Greg KH) Date: Tue, 1 Jul 2014 22:32:37 -0700 Subject: DMA over USB In-Reply-To: <20140702052939.GB7080@kroah.com> References: <53B3943D.5050408@cdac.in> <20140702052939.GB7080@kroah.com> Message-ID: <20140702053237.GC7080@kroah.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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