[Linaro-mm-sig] [PATCHv6 00/13] Integration of videobuf2 with dmabuf

Rebecca Schultz Zavin rebecca at android.com
Mon Jun 4 13:46:37 PDT 2012


I'm trying to do it in my drivier, but I'm not sure how to make it
safe since there is no way to tell the kernel the total size of the
buffer.  From what I can tell, I can't sanity check that the offset
and lengths are within the buffer without adding a field.

Rebecca

On Mon, Jun 4, 2012 at 1:28 PM, Rob Clark <robdclark at gmail.com> wrote:
> this is at least how we do it w/ drm/kms.. I would expect that if you
> could do that w/ output for v4l you also could for input, but perhaps
> the individual driver needs to do something to support mplane?  I
> guess the v4l folks would know better
>
> BR,
> -R
>
> On Tue, Jun 5, 2012 at 3:34 AM, Rebecca Schultz Zavin
> <rebecca at android.com> wrote:
>> I have a system where the data is planar, but the kernel drivers
>> expect to get one allocation with offsets for the planes.  I can't
>> figure out how to do that with the current dma_buf implementation.  I
>> thought I could pass the same dma_buf several times and use the
>> data_offset field of the v4l2_plane struct but it looks like that's
>> only for output.  Am I missing something?  Is this supported?
>>
>> Thanks,
>> Rebecca
>>
>> On Wed, May 30, 2012 at 8:26 AM, Semwal, Sumit <sumit.semwal at ti.com> wrote:
>>> On Tue, May 29, 2012 at 6:25 AM, Laurent Pinchart
>>> <laurent.pinchart at ideasonboard.com> wrote:
>>>> Hi Tomasz,
>>> Hi Tomasz, Laurent, Mauro,
>>>>
>>>> On Wednesday 23 May 2012 14:10:14 Tomasz Stanislawski wrote:
>>>>> Hello everyone,
>>>>> This patchset adds support for DMABUF [2] importing to V4L2 stack.
>>>>> The support for DMABUF exporting was moved to separate patchset
>>>>> due to dependency on patches for DMA mapping redesign by
>>>>> Marek Szyprowski [4].
>>>>
>>>> Except for the small issue with patches 01/13 and 02/13, the set is ready for
>>>> upstream as far as I'm concerned.
>>> +1; Mauro: how do you think about this series? Getting it landed into
>>> 3.5 would make life lot easier :)
>>>>
>>>>> v6:
>>>>> - fixed missing entry in v4l2_memory_names
>>>>> - fixed a bug occuring after get_user_pages failure
>>>>
>>>> I've missed that one, what was it ?
>>>>
>>>>> - fixed a bug caused by using invalid vma for get_user_pages
>>>>> - prepare/finish no longer call dma_sync for dmabuf buffers
>>>>>
>>>>> v5:
>>>>> - removed change of importer/exporter behaviour
>>>>> - fixes vb2_dc_pages_to_sgt basing on Laurent's hints
>>>>> - changed pin/unpin words to lock/unlock in Doc
>>>>>
>>>>> v4:
>>>>> - rebased on mainline 3.4-rc2
>>>>> - included missing importing support for s5p-fimc and s5p-tv
>>>>> - added patch for changing map/unmap for importers
>>>>> - fixes to Documentation part
>>>>> - coding style fixes
>>>>> - pairing {map/unmap}_dmabuf in vb2-core
>>>>> - fixing variable types and semantic of arguments in videobufb2-dma-contig.c
>>>>>
>>>>> v3:
>>>>> - rebased on mainline 3.4-rc1
>>>>> - split 'code refactor' patch to multiple smaller patches
>>>>> - squashed fixes to Sumit's patches
>>>>> - patchset is no longer dependant on 'DMA mapping redesign'
>>>>> - separated path for handling IO and non-IO mappings
>>>>> - add documentation for DMABUF importing to V4L
>>>>> - removed all DMABUF exporter related code
>>>>> - removed usage of dma_get_pages extension
>>>>>
>>>>> v2:
>>>>> - extended VIDIOC_EXPBUF argument from integer memoffset to struct
>>>>>   v4l2_exportbuffer
>>>>> - added patch that breaks DMABUF spec on (un)map_atachment callcacks but
>>>>> allows to work with existing implementation of DMABUF prime in DRM
>>>>> - all dma-contig code refactoring patches were squashed
>>>>> - bugfixes
>>>>>
>>>>> v1: List of changes since [1].
>>>>> - support for DMA api extension dma_get_pages, the function is used to
>>>>> retrieve pages used to create DMA mapping.
>>>>> - small fixes/code cleanup to videobuf2
>>>>> - added prepare and finish callbacks to vb2 allocators, it is used keep
>>>>>   consistency between dma-cpu acess to the memory (by Marek Szyprowski)
>>>>> - support for exporting of DMABUF buffer in V4L2 and Videobuf2, originated
>>>>> from [3].
>>>>> - support for dma-buf exporting in vb2-dma-contig allocator
>>>>> - support for DMABUF for s5p-tv and s5p-fimc (capture interface) drivers,
>>>>>   originated from [3]
>>>>> - changed handling for userptr buffers (by Marek Szyprowski, Andrzej
>>>>>   Pietrasiewicz)
>>>>> - let mmap method to use dma_mmap_writecombine call (by Marek Szyprowski)
>>>>>
>>>>> [1]
>>>>> http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/4296
>>>>> 6/focus=42968 [2] https://lkml.org/lkml/2011/12/26/29
>>>>> [3]
>>>>> http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/3635
>>>>> 4/focus=36355 [4]
>>>>> http://thread.gmane.org/gmane.linux.kernel.cross-arch/12819
>>>>>
>>>>> Laurent Pinchart (2):
>>>>>   v4l: vb2-dma-contig: Shorten vb2_dma_contig prefix to vb2_dc
>>>>>   v4l: vb2-dma-contig: Reorder functions
>>>>>
>>>>> Marek Szyprowski (2):
>>>>>   v4l: vb2: add prepare/finish callbacks to allocators
>>>>>   v4l: vb2-dma-contig: add prepare/finish to dma-contig allocator
>>>>>
>>>>> Sumit Semwal (4):
>>>>>   v4l: Add DMABUF as a memory type
>>>>>   v4l: vb2: add support for shared buffer (dma_buf)
>>>>>   v4l: vb: remove warnings about MEMORY_DMABUF
>>>>>   v4l: vb2-dma-contig: add support for dma_buf importing
>>>>>
>>>>> Tomasz Stanislawski (5):
>>>>>   Documentation: media: description of DMABUF importing in V4L2
>>>>>   v4l: vb2-dma-contig: Remove unneeded allocation context structure
>>>>>   v4l: vb2-dma-contig: add support for scatterlist in userptr mode
>>>>>   v4l: s5p-tv: mixer: support for dmabuf importing
>>>>>   v4l: s5p-fimc: support for dmabuf importing
>>>>>
>>>>>  Documentation/DocBook/media/v4l/compat.xml         |    4 +
>>>>>  Documentation/DocBook/media/v4l/io.xml             |  179 +++++++
>>>>>  .../DocBook/media/v4l/vidioc-create-bufs.xml       |    1 +
>>>>>  Documentation/DocBook/media/v4l/vidioc-qbuf.xml    |   15 +
>>>>>  Documentation/DocBook/media/v4l/vidioc-reqbufs.xml |   45 +-
>>>>>  drivers/media/video/s5p-fimc/Kconfig               |    1 +
>>>>>  drivers/media/video/s5p-fimc/fimc-capture.c        |    2 +-
>>>>>  drivers/media/video/s5p-tv/Kconfig                 |    1 +
>>>>>  drivers/media/video/s5p-tv/mixer_video.c           |    2 +-
>>>>>  drivers/media/video/v4l2-ioctl.c                   |    1 +
>>>>>  drivers/media/video/videobuf-core.c                |    4 +
>>>>>  drivers/media/video/videobuf2-core.c               |  207 +++++++-
>>>>>  drivers/media/video/videobuf2-dma-contig.c         |  520 ++++++++++++++---
>>>>>  include/linux/videodev2.h                          |    7 +
>>>>>  include/media/videobuf2-core.h                     |   34 ++
>>>>>  15 files changed, 924 insertions(+), 99 deletions(-)
>>>> --
>>>> Regards,
>>>>
>>>> Laurent Pinchart
>>>>
>>> Best regards,
>>> ~Sumit.
>>>
>>> _______________________________________________
>>> Linaro-mm-sig mailing list
>>> Linaro-mm-sig at lists.linaro.org
>>> http://lists.linaro.org/mailman/listinfo/linaro-mm-sig


More information about the dri-devel mailing list