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

Rob Clark rob.clark at linaro.org
Mon Jun 4 14:04:00 PDT 2012


can you check expected size vs dmabuf->size - offset?

On Tue, Jun 5, 2012 at 4:46 AM, Rebecca Schultz Zavin
<rebecca at android.com> wrote:
> 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