correct use of bus_dmamap_sync

Dinesh Nair dinesh at alphaque.com
Tue Oct 25 11:48:32 PDT 2005


On 10/26/05 01:27 John Baldwin said the following:
> On Tuesday 25 October 2005 09:15 am, Dinesh Nair wrote:
>>(must i malloc space for them before passing them into those functions, or
>>will the call to bus_dmamem_alloc do it for me ?)
> 
> bus_dmamem_alloc() will do it for you.

thanx.

> Probably not as the sync()'s don't really do anything with memory allocated 
> via bus_dmamem_alloc().  The operations are named from the CPU's perspective, 

however, the man page at 
http://www.freebsd.org/cgi/man.cgi?query=bus_dmamap_sync&apropos=0&sektion=0&manpath=FreeBSD+5.4-stable&format=html
says,

"Although no explicit loading is required to access the memory referenced 
by the returned map, the synchronization requirements as described in the 
bus_dmamap_sync() section still apply."

also, is bus_dmamap_load() required, since the same man page section above 
says it isnt ?

have things changed between freebsd 4.x (which i'm using) and freebsd 5.x ?

> thus when you send data to your device, that is a WRITE operation (even 
> though your device is doing a DMA to read data), and when you get data back 
> from your device, that is a READ operation (even though your device is doing 
> a DMA to write the data into the buffer).

thanx, the verbiage on the man page is slightly confusing with it's use of 
CPU, giving the opposite impression.

-- 
Regards,                           /\_/\   "All dogs go to heaven."
dinesh at alphaque.com                (0 0)    http://www.alphaque.com/
+==========================----oOO--(_)--OOo----==========================+
| for a in past present future; do                                        |
|   for b in clients employers associates relatives neighbours pets; do   |
|   echo "The opinions here in no way reflect the opinions of my $a $b."  |
| done; done                                                              |
+=========================================================================+


More information about the freebsd-hackers mailing list