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 Ralf.Truebenbach@xxxxxx 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 ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ