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. ------------------------------------------------------------------------------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html