lkml.org 
[lkml]   [1998]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subjectmmap() of kernel space buffer problem
From
Date
Hello,
in my VMEBus driver for the Universe PCI/VME Bridge i
encountered a strange problem:
I allocated (via __get_free_pages) a buffer in kernel space and
mmap()ed that into user space with the followin code in the mmap()
function of the driver:
retval = remap_page_range(vma->vm_start,
vma->vm_offset
+ virt_to_phys(p->DMA_buffer),
vma->vm_end - vma->vm_start,
vma->vm_page_prot);
Then i can do DMA transfers (PCI Busmaster DMA) from this buffer to
the VMEBus and in the other direction, from VME to the buffer.
If i transfer from VME to the buffer the data are in the buffer,
as a printk() in the driver shows --- but in the user space the
mmap()ed buffer still contains only zeroes, even if a mmap() after the
DMA transfer.
If i write from userspace into the mmap()ed buffer the data appear in
the kernel buffer and can also be transferred to the VMEBus. I am at
a loss about the cause, so please give a hint at what is wrong.

Thanks,
Juergen
--
$RCSfile: .signature,v $ $Revision: 1.14 $ Phone: +49 228 73 2447
Dr. Juergen Hannappel Office: W148 FAX +49 228 73 7869
mailto:hannappe@lisa2.physik.uni-bonn.de Physikalisches Institut der Uni Bonn
http://lisa2.physik.uni-bonn.de/~hannappe Nussallee 12, D-53115 Bonn, Germany

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:45    [from the cache]
©2003-2011 Jasper Spaans