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