Messages in this thread |  | | From | Paul Mackerras <> | Date | Sun, 7 Oct 2001 12:13:26 +1000 (EST) | Subject | Re: how to get virtual address from dma address |
| |
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 ;-(
The OHCI hardware works with linked lists of transfer descriptors, using bus addresses for the pointers of course. When a transfer descriptor is completed, it gets linked onto a done-list by the hardware (on to the front of the list, so you get the completed descriptors in reverse order).
There is no way to predict the completion order in general because you can have transfers in progress to several different devices, and to several endpoints on each device, at the same time, which can each supply or accept data at different rates.
I don't think the OHCI designers considered the possibility that it might be less than straightforward for the CPU to access some memory given its bus address. And I would have a hard time arguing against someone who claimed that a platform where that was difficult was just terminally broken. :)
Paul. - 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/
|  |