Re: DMA memory mapping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



--- Christine Ames <clgisotti@yahoo.com> wrote:
> --- David Stroupe <dstroupe@keyed-upsoftware.com> wrote:
> > I am developing a framegrabber driver.  I need to map memory for
> > the 
> > grabber to DMA the images into.  I have it working currently
> where
> > the 
> > grab happens into kernel memory and then I copy_to_user to get
> the 
> > buffer into user space.  I think I can eliminate this step by
> using
> > 
> > remap_page_range which would allow me to access the grabbed
> images 
> > directly from user space.  The argument to remap_page_range that
> I
> > don't 
> > understand is the first argument...the virtual address.  I know
> how
> > big 
> > the buffer is, I know the physical address of the buffer
> allocated
> > in 
> > the kernel, I have to set the protection such that the pages are
> > not 
> > swapped...how do I get a virtual address to pass to the driver so
> > that 
> > this mapping can take place?
> > 
> 
> __va() will work, but only with low memory addresses.
> 
> See http://www.xml.com/ldd/chapter/book/ch13.html#t1
> 
> Best of luck, ;-)
> 
> --Christine
> 

Sorry, only four hours sleep last night.  __va() is a kernel call, I
think, which would prevent you from accessing it from user space.

Being a kernel newbie, I'm waiting for the flames, but I'd prefer
instruction.  :-)

--cla


__________________________________________________
Do You Yahoo!?
Yahoo! Shopping - Mother's Day is May 12th!
http://shopping.yahoo.com
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux