On Sat, 1 Jul 2006, Maulik Mankad wrote: > Hi, > > I am working on Intel's IXP465 network processor. It has an on-chip USB host > controller. I am porting the USB host driver for it.
Here's my perspective on these matters, which is a little different from David Brownell's. But first, since you're using Intel's IXP465 processor, shouldn't you send your questions to Intel? They know more about how their USB controller works than anyone else. > Can someone explain to me how a DMA engine in the USB host controller work > in concept? Also let me know how the DMA engine is kicked off in a standard > USB host controller. Do you realize that the details vary considerably among different kinds of host controllers? You're probably most interested in EHCI-compliant controllers, because that's what you're using, but you didn't specify the type of controller in your question. In broad terms, the DMA engine reads from main memory the data structures that describe the USB transactions to be carried out. The DMA engine also accesses main memory buffers to fetch or store the data portions of these transactions. In UHCI controllers, the DMA engine is started when the controller driver sets the Run/Stop bit in the controller's USB Command Register. The engine stops when this bit is turned off, when the controller encounters an error, or when the controller is reset. > I want to know how in Linux code the DMA engine is configured and how it > works. I can't explain how the DMA engine works; to understand that you will have to speak with the chip designers. Besides, you probably don't really want to know how it works -- more likely you want to know how to use it. In UHCI controllers, the DMA engine is configured by writing the Frame List Base Address to one of the controller's registers. This is the address of the main data structure used by the DMA engine (it contains pointers to other data structures). No extra configuration is needed. Alan Stern Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel