[lkml]   [2001]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: how to get virtual address from dma address
>>>>> "James" == James Bottomley <> writes:

Linux> All programmers I am relatively new to linux kernel. Please
Linux> advise what is the safe way to get the original virtaul address
Linux> from dma address e.g.,

>> You have to store the address you pass to pci_map_single()
>> somewhere in your data structures together with the dma address.

James> Yes, but speaking as someone who had to use a large hammer to
James> convert his driver from bus_to_virt et al., it does seem rather
James> hard not to have the equivalent for the new pci_dma paradigm.
James> It does present an obstacle persuading people to convert
James> drivers, particularly if the hardware is going to present a
James> linked list of addresses (as SCSI hardware often does).

Because as DaveM pointed out, some hardware can't do it, and as I said
earlier, it's a lot cheaper and easier for driver writers to just
store the extra pointer in their data structures than it is to
implement a database to maintain it.

Remember you often need this address in the hot path (say TX interrupt
handler) so you don't want to introduce any unnecessary function calls.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:04    [W:0.098 / U:1.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site