On Tue, Sep 27, 2011 at 9:19 AM, Daniel Vetter daniel@ffwll.ch wrote:
One other thing: once you call REQBUFS on a V4L device the V4L spec says that the memory should be allocated at that time. Because V4L often needs a lot of memory that behavior makes sense: you know immediately if you can get the memory or not. In addition, that memory is mmap-ed before the DMA is started.
If that is actually a fixed requirement for v4l, that's a good reason for mmap support on the dma_buf object. We could hide all the complecity of shooting down userspace mmapings on buffer movements from the drivers. Can you elaborate a bit on this?
I would hope if we are using V4L2_MEMORY_DMABUF that V4L should not create a user mapping of the buffer.
Given that V4L2_MEMORY_DMABUF is something new, I think it is fine to spec out this part of the V4L spec to now require a userspace mapping.
BR, -R