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

Reply via email to