Messages in this thread |  | | Subject | Re: how to get virtual address from dma address | From | Jes Sorensen <> | Date | 07 Oct 2001 19:40:56 +0200 |
| |
>>>>> "Paul" == Paul Mackerras <paulus@samba.org> writes:
Paul> Jes Sorensen writes: >> I haven't looked at the ohci driver at all, however doesn't it >> return anything but the dma address? No index, no offset, no >> nothing? If thats the case, someone really needs to go visit the >> designers with a large bat ;-(
Paul> The OHCI hardware works with linked lists of transfer Paul> descriptors, using bus addresses for the pointers of course. Paul> When a transfer descriptor is completed, it gets linked onto a Paul> done-list by the hardware (on to the front of the list, so you Paul> get the completed descriptors in reverse order).
Paul> There is no way to predict the completion order in general Paul> because you can have transfers in progress to several different Paul> devices, and to several endpoints on each device, at the same Paul> time, which can each supply or accept data at different rates.
Ok, so this is actually quite similar to how the AceNIC does it, however the great thing about the AceNIC descriptors is that it has an opague field in the descriptor which you can use as an index into a table or similar to dig out your dma descriptor addresses.
Jes - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |