Arjan, Thanks for the response.
Our driver has to reduce the time required to transfer the data as minimal as possible. We implemented mmap to reduce the overhead due to copy_from_user in kernel. How will the application communicate with the driver to inform the details buffer content such as the base address and the length? Is there a way to obtain the mmapped address from the user space buffer pointer passed in write? The amount of data to transfer is less than a MB. Could you please provide some info on "doorbell ioctl"? Is it a special ioctl or the ioctl to notify the driver with our own ioctl code? Thanks Sing -----Original Message----- From: Arjan van de Ven [mailto:[email protected]] Sent: Friday, April 03, 2009 10:05 AM To: Nallasellan, Singaravelan Cc: [email protected] Subject: Re: [Moblin Dev] msync usage on kernel buffers Nallasellan, Singaravelan wrote: > Hi, > > Our driver mmaps the kernel buffer and setup a DMA when the mmapped buffer is > filled with the data. > > How will the driver know whether the user space has filled the buffer with > the data? > > Can the application use msync to notify the driver with the starting address > and the size of the data as documented in msync? > > What is the file operation that the driver should implement for msync if it > is allowed? > if you don't have too much data to transport, I would actually recommend a write() not mmap() method. if you have really high volumes of data (gigabyte per second or so) then you might need to implement a doorbell ioctl or so. _______________________________________________ Moblin dev Mailing List [email protected] To manage or unsubscribe from this mailing list visit: https://lists.moblin.org/mailman/listinfo/dev or your user account on http://moblin.org once logged in. For more information on the Moblin Developer Mailing lists visit: http://moblin.org/community/mailing-lists
