videobuf2: support new noncontiguous DMA API
From: | Sergey Senozhatsky <senozhatsky-AT-chromium.org> | |
To: | Tomasz Figa <tfiga-AT-chromium.org>, Hans Verkuil <hverkuil-cisco-AT-xs4all.nl> | |
Subject: | [PATCHv3 0/8] videobuf2: support new noncontiguous DMA API | |
Date: | Fri, 09 Jul 2021 18:20:19 +0900 | |
Message-ID: | <20210709092027.1050834-1-senozhatsky@chromium.org> | |
Cc: | Ricardo Ribalda <ribalda-AT-chromium.org>, Christoph Hellwig <hch-AT-lst.de>, Mauro Carvalho Chehab <mchehab-AT-kernel.org>, linux-media-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, Sergey Senozhatsky <senozhatsky-AT-chromium.org> | |
Archive-link: | Article |
Hello, The series adds support for noncontiguous DMA API and V4L2_MEMORY_FLAG_NON_COHERENT UAPI. V2: https://lore.kernel.org/lkml/20210427131344.139443-1-seno... v3: -- addressed review feedback Sergey Senozhatsky (8): videobuf2: rework vb2_mem_ops API videobuf2: inverse buffer cache_hints flags videobuf2: split buffer cache_hints initialisation videobuf2: move cache_hints handling to allocators videobuf2: add V4L2_MEMORY_FLAG_NON_COHERENT flag videobuf2: add queue memory coherency parameter videobuf2: handle V4L2_MEMORY_FLAG_NON_COHERENT flag videobuf2: handle non-contiguous DMA allocations .../userspace-api/media/v4l/buffer.rst | 40 +++- .../media/v4l/vidioc-create-bufs.rst | 7 +- .../media/v4l/vidioc-reqbufs.rst | 16 +- .../media/common/videobuf2/videobuf2-core.c | 127 ++++++++----- .../common/videobuf2/videobuf2-dma-contig.c | 173 ++++++++++++++---- .../media/common/videobuf2/videobuf2-dma-sg.c | 39 ++-- .../media/common/videobuf2/videobuf2-v4l2.c | 59 +++--- .../common/videobuf2/videobuf2-vmalloc.c | 30 +-- drivers/media/dvb-core/dvb_vb2.c | 2 +- drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 9 +- drivers/media/v4l2-core/v4l2-ioctl.c | 4 +- include/media/videobuf2-core.h | 59 +++--- include/uapi/linux/videodev2.h | 11 +- 13 files changed, 396 insertions(+), 180 deletions(-) -- 2.32.0.93.g670b81a890-goog