All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
To: linux-media@vger.kernel.org, sakari.ailus@linux.intel.com,
	Jacopo Mondi <jacopo+renesas@jmondi.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	niklas.soderlund+renesas@ragnatech.se,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Pratyush Yadav <p.yadav@ti.com>,
	Kishon Vijay Abraham <kishon@ti.com>,
	satish.nagireddy@getcruise.com, Tomasz Figa <tfiga@chromium.org>
Cc: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Subject: [PATCH v13 00/34] v4l: routing and streams support
Date: Wed, 10 Aug 2022 15:10:48 +0300	[thread overview]
Message-ID: <20220810121122.3149086-1-tomi.valkeinen@ideasonboard.com> (raw)

Hi,

This is v13 of the streams series. The v12 can be found from:

https://lore.kernel.org/all/20220727103639.581567-1-tomi.valkeinen@ideasonboard.com/

My work branch with additional drivers can be found from:

git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git streams/work-v13

And there's also the v4l-utils series v2 to add support to v4l2-ctl and
media-ctl:

https://lore.kernel.org/all/20220714132116.132498-1-tomi.valkeinen@ideasonboard.com/

Changes in v13 to v12

* media_pipeline_alloc_start: handle no mem error
* Automatically free the allocated pipeline in media_pipeline_stop()
* sanity checks for media_entity_pipeline
* improve v4l2_link_validate_get_streams (drop 'is_source')
* indent Add iterator helper for entity pads
* v4l2_subdev_set_routing: leave the current routing untouched in case of error
* v4l2_subdev_init_stream_configs: leave the current routing untouched in case of error
* Drop V4L2_SUBDEV_ROUTE_FL_IMMUTABLE
* In subdev ioctls, check that stream == 0 if subdev doesn't support streams
* Squash for_each_active_route() uses
* Add media_pad_pipeline()
* Add video device pipeline helpers and use them in the drivers
* Rename has_route to has_pad_interdep

 Tomi

Jacopo Mondi (3):
  media: mc: entity: Add iterator helper for entity pads
  media: Documentation: Add GS_ROUTING documentation
  media: subdev: Add for_each_active_route() macro

Laurent Pinchart (9):
  media: mc: entity: Merge media_entity_enum_init and
    __media_entity_enum_init
  media: mc: entity: Move media_entity_get_fwnode_pad() out of graph
    walk section
  media: mc: entity: Add media_entity_pipeline() to access the media
    pipeline
  media: mc: entity: Rewrite media_pipeline_start()
  media: subdev: Add [GS]_ROUTING subdev ioctls and operations
  media: subdev: add v4l2_subdev_routing_validate() helper
  media: v4l2-subdev: Add v4l2_subdev_state_xlate_streams() helper
  media: v4l2-subdev: Add subdev .(enable|disable)_streams() operations
  media: v4l2-subdev: Add v4l2_subdev_s_stream_helper() function

Sakari Ailus (1):
  media: Add stream to frame descriptor

Tomi Valkeinen (21):
  media: Documentation: mc: add definitions for stream and pipeline
  media: media-entity.h: add include for min()
  media: subdev: increase V4L2_FRAME_DESC_ENTRY_MAX to 8
  media: mc: entity: Rename streaming_count -> start_count
  media: v4l2-dev: Add videodev wrappers for media pipelines
  media: drivers: use video device pipeline start/stop
  media: drivers: use video_device_pipeline()
  media: mc: entity: add alloc variant of pipeline_start
  media: drivers: use video_device_pipeline_alloc_start()
  media: mc: entity: Add has_pad_interdep entity operation
  media: mc: convert pipeline funcs to take media_pad
  media: add V4L2_SUBDEV_FL_STREAMS
  media: add V4L2_SUBDEV_CAP_STREAMS
  media: subdev: add v4l2_subdev_has_pad_interdep()
  media: subdev: add v4l2_subdev_set_routing helper()
  media: Documentation: add multiplexed streams documentation
  media: subdev: add stream based configuration
  media: subdev: use streams in v4l2_subdev_link_validate()
  media: subdev: add "opposite" stream helper funcs
  media: subdev: add streams to v4l2_subdev_get_fmt() helper function
  media: subdev: add v4l2_subdev_set_routing_with_fmt() helper

 .clang-format                                 |    1 +
 Documentation/driver-api/media/mc-core.rst    |   19 +-
 .../driver-api/media/v4l2-subdev.rst          |    8 +
 .../userspace-api/media/v4l/dev-subdev.rst    |  175 +++
 .../userspace-api/media/v4l/user-func.rst     |    1 +
 .../v4l/vidioc-subdev-enum-frame-interval.rst |    5 +-
 .../v4l/vidioc-subdev-enum-frame-size.rst     |    5 +-
 .../v4l/vidioc-subdev-enum-mbus-code.rst      |    5 +-
 .../media/v4l/vidioc-subdev-g-crop.rst        |    5 +-
 .../media/v4l/vidioc-subdev-g-fmt.rst         |    5 +-
 .../v4l/vidioc-subdev-g-frame-interval.rst    |    5 +-
 .../media/v4l/vidioc-subdev-g-routing.rst     |  150 +++
 .../media/v4l/vidioc-subdev-g-selection.rst   |    5 +-
 drivers/media/mc/mc-device.c                  |   13 +-
 drivers/media/mc/mc-entity.c                  |  657 +++++++++--
 drivers/media/pci/intel/ipu3/ipu3-cio2-main.c |    6 +-
 .../media/platform/qcom/camss/camss-video.c   |    6 +-
 .../platform/renesas/rcar-vin/rcar-core.c     |    5 +-
 .../platform/renesas/rcar-vin/rcar-dma.c      |   18 +-
 .../media/platform/renesas/vsp1/vsp1_video.c  |    6 +-
 .../platform/rockchip/rkisp1/rkisp1-capture.c |   14 +-
 .../samsung/exynos4-is/fimc-capture.c         |    9 +-
 .../samsung/exynos4-is/fimc-isp-video.c       |    9 +-
 .../platform/samsung/exynos4-is/fimc-lite.c   |    9 +-
 .../samsung/s3c-camif/camif-capture.c         |    6 +-
 drivers/media/platform/st/stm32/stm32-dcmi.c  |    6 +-
 .../platform/sunxi/sun4i-csi/sun4i_dma.c      |    6 +-
 .../platform/sunxi/sun6i-csi/sun6i_video.c    |    6 +-
 drivers/media/platform/ti/cal/cal-video.c     |    6 +-
 drivers/media/platform/ti/cal/cal.h           |    1 -
 drivers/media/platform/ti/omap3isp/isp.c      |    4 +-
 drivers/media/platform/ti/omap3isp/ispvideo.c |    9 +-
 drivers/media/platform/ti/omap3isp/ispvideo.h |   11 +-
 drivers/media/platform/xilinx/xilinx-dma.c    |   11 +-
 drivers/media/platform/xilinx/xilinx-dma.h    |    9 +-
 .../media/test-drivers/vimc/vimc-capture.c    |    7 +-
 drivers/media/usb/au0828/au0828-core.c        |    8 +-
 drivers/media/v4l2-core/v4l2-dev.c            |   72 ++
 drivers/media/v4l2-core/v4l2-ioctl.c          |   25 +-
 drivers/media/v4l2-core/v4l2-subdev.c         | 1038 ++++++++++++++++-
 drivers/staging/media/imx/imx-media-utils.c   |    8 +-
 drivers/staging/media/ipu3/ipu3-v4l2.c        |    6 +-
 drivers/staging/media/omap4iss/iss.c          |    4 +-
 drivers/staging/media/omap4iss/iss_video.c    |    9 +-
 drivers/staging/media/omap4iss/iss_video.h    |   11 +-
 drivers/staging/media/tegra-video/tegra210.c  |    6 +-
 include/media/media-device.h                  |   15 -
 include/media/media-entity.h                  |  162 ++-
 include/media/v4l2-dev.h                      |  104 ++
 include/media/v4l2-subdev.h                   |  382 +++++-
 include/uapi/linux/v4l2-subdev.h              |   82 +-
 51 files changed, 2827 insertions(+), 328 deletions(-)
 create mode 100644 Documentation/userspace-api/media/v4l/vidioc-subdev-g-routing.rst

-- 
2.34.1


             reply	other threads:[~2022-08-10 12:11 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-10 12:10 Tomi Valkeinen [this message]
2022-08-10 12:10 ` [PATCH v13 01/34] media: Documentation: mc: add definitions for stream and pipeline Tomi Valkeinen
2022-08-29 15:51   ` Laurent Pinchart
2022-08-10 12:10 ` [PATCH v13 02/34] media: media-entity.h: add include for min() Tomi Valkeinen
2022-08-29 16:06   ` Laurent Pinchart
2022-08-10 12:10 ` [PATCH v13 03/34] media: subdev: increase V4L2_FRAME_DESC_ENTRY_MAX to 8 Tomi Valkeinen
2022-08-10 12:10 ` [PATCH v13 04/34] media: mc: entity: Rename streaming_count -> start_count Tomi Valkeinen
2022-08-29 16:08   ` Laurent Pinchart
2022-08-10 12:10 ` [PATCH v13 05/34] media: mc: entity: Add iterator helper for entity pads Tomi Valkeinen
2022-08-10 12:10 ` [PATCH v13 06/34] media: mc: entity: Merge media_entity_enum_init and __media_entity_enum_init Tomi Valkeinen
2022-08-10 12:10 ` [PATCH v13 07/34] media: mc: entity: Move media_entity_get_fwnode_pad() out of graph walk section Tomi Valkeinen
2022-08-10 12:10 ` [PATCH v13 08/34] media: mc: entity: Add media_entity_pipeline() to access the media pipeline Tomi Valkeinen
2022-08-10 12:10 ` [PATCH v13 09/34] media: v4l2-dev: Add videodev wrappers for media pipelines Tomi Valkeinen
2022-08-29 16:34   ` Laurent Pinchart
2022-08-30 10:58     ` Tomi Valkeinen
2022-08-10 12:10 ` [PATCH v13 10/34] media: drivers: use video device pipeline start/stop Tomi Valkeinen
2022-08-29 16:41   ` Laurent Pinchart
2022-08-10 12:10 ` [PATCH v13 11/34] media: drivers: use video_device_pipeline() Tomi Valkeinen
2022-08-29 16:48   ` Laurent Pinchart
2022-08-10 12:11 ` [PATCH v13 12/34] media: mc: entity: add alloc variant of pipeline_start Tomi Valkeinen
2022-08-29 16:57   ` Laurent Pinchart
2022-08-30 11:08     ` Tomi Valkeinen
2022-08-30 11:42       ` Laurent Pinchart
2022-08-10 12:11 ` [PATCH v13 13/34] media: drivers: use video_device_pipeline_alloc_start() Tomi Valkeinen
2022-08-29 17:00   ` Laurent Pinchart
2022-08-30 11:20     ` Tomi Valkeinen
2022-08-30 11:46       ` Laurent Pinchart
2022-08-10 12:11 ` [PATCH v13 14/34] media: mc: entity: Rewrite media_pipeline_start() Tomi Valkeinen
2022-08-29 17:18   ` Laurent Pinchart
2022-08-30 11:44     ` Tomi Valkeinen
2022-08-30 12:40       ` Tomi Valkeinen
2022-09-06  8:48         ` Laurent Pinchart
2022-09-06  9:22           ` Tomi Valkeinen
2022-08-31 14:21     ` Tomi Valkeinen
2022-09-06  8:44       ` Laurent Pinchart
2022-09-06  9:19         ` Tomi Valkeinen
2022-09-06 12:58           ` Sakari Ailus
2022-09-06 13:51             ` Laurent Pinchart
2022-08-10 12:11 ` [PATCH v13 15/34] media: mc: entity: Add has_pad_interdep entity operation Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 16/34] media: mc: convert pipeline funcs to take media_pad Tomi Valkeinen
2022-08-29 17:21   ` Laurent Pinchart
2022-08-30 12:05     ` Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 17/34] media: add V4L2_SUBDEV_FL_STREAMS Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 18/34] media: add V4L2_SUBDEV_CAP_STREAMS Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 19/34] media: Documentation: Add GS_ROUTING documentation Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 20/34] media: subdev: Add [GS]_ROUTING subdev ioctls and operations Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 21/34] media: subdev: add v4l2_subdev_has_pad_interdep() Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 22/34] media: subdev: add v4l2_subdev_set_routing helper() Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 23/34] media: subdev: Add for_each_active_route() macro Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 24/34] media: Documentation: add multiplexed streams documentation Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 25/34] media: subdev: add stream based configuration Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 26/34] media: subdev: use streams in v4l2_subdev_link_validate() Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 27/34] media: subdev: add "opposite" stream helper funcs Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 28/34] media: subdev: add streams to v4l2_subdev_get_fmt() helper function Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 29/34] media: subdev: add v4l2_subdev_set_routing_with_fmt() helper Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 30/34] media: subdev: add v4l2_subdev_routing_validate() helper Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 31/34] media: v4l2-subdev: Add v4l2_subdev_state_xlate_streams() helper Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 32/34] media: v4l2-subdev: Add subdev .(enable|disable)_streams() operations Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 33/34] media: v4l2-subdev: Add v4l2_subdev_s_stream_helper() function Tomi Valkeinen
2022-08-10 12:11 ` [PATCH v13 34/34] media: Add stream to frame descriptor Tomi Valkeinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220810121122.3149086-1-tomi.valkeinen@ideasonboard.com \
    --to=tomi.valkeinen@ideasonboard.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=jacopo+renesas@jmondi.org \
    --cc=kishon@ti.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=niklas.soderlund+renesas@ragnatech.se \
    --cc=p.yadav@ti.com \
    --cc=sakari.ailus@linux.intel.com \
    --cc=satish.nagireddy@getcruise.com \
    --cc=tfiga@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.