[PATCHv2 0/8] videobuf2: support new noncontiguous DMA API

From: Sergey Senozhatsky
Date: Tue Apr 27 2021 - 09:13:55 EST


Hello,

The series adds support for noncontiguous DMA API and adds
V4L2_MEMORY_FLAG_NON_COHERENT UAPI.

v2:
-- addressed review feedback [0] (Hans, Tomasz)
-- inverted and renamed vb2_queue.non_coherent_mem member. It's easier
when we have vb2_queue.coherent_mem instead
-- inverted and renamed the corresponding vb2_dc_buf.non_coherent_mem
member, for pretty much same reason.

IOW some semi-intrusive changes.

[0] https://lore.kernel.org/lkml/20210302004624.31294-1-senozhatsky@xxxxxxxxxxxx/

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 | 17 +-
.../media/common/videobuf2/videobuf2-core.c | 127 ++++++++-----
.../common/videobuf2/videobuf2-dma-contig.c | 174 ++++++++++++++----
.../media/common/videobuf2/videobuf2-dma-sg.c | 39 ++--
.../media/common/videobuf2/videobuf2-v4l2.c | 56 +++---
.../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 | 5 +-
include/media/videobuf2-core.h | 59 +++---
include/uapi/linux/videodev2.h | 11 +-
13 files changed, 395 insertions(+), 181 deletions(-)

--
2.31.1.498.g6c1eba8ee3d-goog