Hello,

I have a problem with our VME driver (sources see below) and high 
memory. I would like to transfer the content of a user space alloced 
buffer to another VME device using DMA (see vme4l-core.c->vme4l_zc_dma()). 
The actual driver version uses page_address() and virt_to_bus() to get 
the bus addresses needed to fill the DMA scatter list. Unfortunately 
this is not working with highmem.

I tried with page_to_phys() instead of page_address/virt_to_bus which 
seems to work. But is this correct for all architectures? As far as I
understood I have to use the bus addresses and not the physical 
addresses to fill the DMA scatter list.

Maybe someone knows an example where I can have a look at, or any other 
suggestions?

Thank you,

Ralf


Sources:
--------
http://codeviewer.org/view/code:12ed  vme4l-core.c
http://codeviewer.org/view/code:12ee  vme4l-tsi148.c
http://codeviewer.org/view/code:12ef  vme4l-tsi148.h
http://codeviewer.org/view/code:12f0  vme4l-menpldz002.c
http://codeviewer.org/view/code:12f1  vme4l-core.h
or (complete):
http://www.men.de/download/free/13z014-90/13z014-90_02_11.zip 

Best Regards/Mit freundlichen Gruessen

Ralf Trübenbach

------------------------------------------------------------------------

Ralf Trübenbach, Software Design
MEN Mikro Elektronik GmbH
Neuwieder Straße 5-7
90411 Nürnberg, Germany
Phone +49-911-99 33 5-0
Fax +49-911-99 33 5-910
[email protected]
www.men.de



MEN Mikro Elektronik GmbH - Manfred Schmitz (CTO), Udo Fuchs (CFO) 
- Handelsregister/Trade Register AG Nürnberg HRB 5540



--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to