Hello, I'm trying to understand the EHCI hcd code in Linux.
I don't understand the structure of Queue Head links. If there are Queue heads: QH1, QH2, QH3, ... in the asynchronous list, is it such that: AsyncListAddress == AddressOf(QH1) QH1->horiz == QH2 QH2->horiz == QH3 QH3->horiz == QH1 Also is it such that QHs are ordered sequentially in memory? I mean, if you move sizeof(QH) forward from QH1's address, would you reach QH2's address? If the queue heads are in the asynchronous list, where are the QTDs? Are they pointed at in some arbitrary memory address allocated by kmalloc? The buffers pointed by QTDs can sometimes be cached by the host controller for data transfers, and the asynchronous list can also be cached which contains only Queue Heads. But what happens to QTDs then? If I can understand the memory structure it will help a lot in understanding the code. Many thanks, Bahadir ------------------------------------------------------- SF.Net email is sponsored by: Tell us your software development plans! Take this survey and enter to win a one-year sub to SourceForge.net Plus IDC's 2005 look-ahead and a copy of this survey Click here to start! http://www.idcswdc.com/cgi-bin/survey?id5hix _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users
