[RFC,PATCHv2,00/11] Dynamic arrays and read-only requests

Message ID 20210610113615.785359-1-hverkuil-cisco@xs4all.nl (mailing list archive)
Headers
Series Dynamic arrays and read-only requests |

Message

Hans Verkuil June 10, 2021, 11:36 a.m. UTC
  This RFC series adds support for dynamic arrays and for read-only
requests. This respins and combines these older series:

Adding dynamic array controls:

https://patchwork.linuxtv.org/project/linux-media/cover/20210428101841.696059-1-hverkuil-cisco@xs4all.nl/

Adding support for read-only requests:

https://patchwork.linuxtv.org/project/linux-media/cover/20200818143719.102128-1-hverkuil-cisco@xs4all.nl/

The dynamic array support (patches 1-3) is pretty much the same as the
original series, just rebased.

The read-only request support (patches 4-11) is greatly simplified compared
to the original due to this patch that was merged recently:

https://patchwork.linuxtv.org/project/linux-media/patch/20210428101841.696059-2-hverkuil-cisco@xs4all.nl/

This made the read-only request implementation a lot easier.

Patches 1-3 and 4-11 are independent of one another.

The only reason this series is marked RFC is that it needs some
documentation improvements (or at the least, verification that
everything is properly documented), and it needs a real driver
that implements the feature.

I have CC-ed those who I know are/have been working on either
dynamic arrays or read-only requests, so if you want to get this
into the kernel, then submit patches for a driver, and include the
support from this RFC series.

I'll post a short series next for v4l-utils, adding support for
these two features.

Regards,

	Hans

Hans Verkuil (11):
  videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY
  v4l2-ctrls: add support for dynamically allocated arrays.
  vivid: add dynamic array test control
  media: document read-only requests
  videodev2.h: add V4L2_BUF_CAP_SUPPORTS_RO_REQUESTS
  videobuf2-core: add vb2_request_buffer_first()
  videobuf2-v4l2.c: vb2_request_validate: support RO requests
  v4l2-mem2mem.c: allow requests for capture queues
  vivid: add ro_requests module option
  vim2m: support read-only requests on the capture queue
  vicodec: add support for read-only requests

 Documentation/admin-guide/media/vivid.rst     |  10 +
 .../mediactl/media-request-ioc-queue.rst      |   5 +
 .../media/mediactl/request-api.rst            |  11 ++
 .../media/v4l/vidioc-queryctrl.rst            |   8 +
 .../media/v4l/vidioc-reqbufs.rst              |   6 +
 .../media/common/videobuf2/videobuf2-core.c   |  22 +++
 .../media/common/videobuf2/videobuf2-v4l2.c   |  23 ++-
 .../media/test-drivers/vicodec/vicodec-core.c |  67 +++----
 drivers/media/test-drivers/vim2m.c            |  10 +-
 drivers/media/test-drivers/vivid/vivid-core.c |  10 +
 .../media/test-drivers/vivid/vivid-ctrls.c    |  15 ++
 drivers/media/v4l2-core/v4l2-ctrls-api.c      | 103 +++++++---
 drivers/media/v4l2-core/v4l2-ctrls-core.c     | 182 ++++++++++++++----
 drivers/media/v4l2-core/v4l2-ctrls-priv.h     |   3 +-
 drivers/media/v4l2-core/v4l2-ctrls-request.c  |  13 +-
 drivers/media/v4l2-core/v4l2-mem2mem.c        |  16 +-
 include/media/v4l2-ctrls.h                    |  42 +++-
 include/media/videobuf2-core.h                |   8 +
 include/uapi/linux/videodev2.h                |   2 +
 19 files changed, 440 insertions(+), 116 deletions(-)