Linux-Media Archive mirror
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: linux-media@vger.kernel.org
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	tomi.valkeinen@ideasonboard.com, bingbu.cao@intel.com,
	hongju.wang@intel.com, hverkuil@xs4all.nl,
	Andrey Konovalov <andrey.konovalov@linaro.org>,
	Jacopo Mondi <jacopo.mondi@ideasonboard.com>,
	Dmitry Perchanov <dmitry.perchanov@intel.com>,
	"Ng, Khai Wen" <khai.wen.ng@intel.com>,
	Alain Volmat <alain.volmat@foss.st.com>
Subject: [PATCH v2 09/14] media: Documentation: Document S_ROUTING behaviour
Date: Fri, 26 Apr 2024 00:27:06 +0300	[thread overview]
Message-ID: <20240425212711.928300-10-sakari.ailus@linux.intel.com> (raw)
In-Reply-To: <20240425212711.928300-1-sakari.ailus@linux.intel.com>

Document S_ROUTING behaviour for different devices.

Generally in devices that produce streams the streams are static and some
can be enabled and disabled, whereas in devices that just transport them
or write them to memory, more configurability is allowed. Document this.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Julien Massot <julien.massot@collabora.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 .../userspace-api/media/v4l/dev-subdev.rst    | 23 +++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/Documentation/userspace-api/media/v4l/dev-subdev.rst b/Documentation/userspace-api/media/v4l/dev-subdev.rst
index b76e02e54512..0f9eda3187f3 100644
--- a/Documentation/userspace-api/media/v4l/dev-subdev.rst
+++ b/Documentation/userspace-api/media/v4l/dev-subdev.rst
@@ -572,6 +572,29 @@ Any configurations of a stream within a pad, such as format or selections,
 are independent of similar configurations on other streams. This is
 subject to change in the future.
 
+Device types and routing setup
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Different kinds of sub-devices have differing behaviour for route activation,
+depending on the hardware. In all cases, however, only routes that have the
+``V4L2_SUBDEV_STREAM_FL_ACTIVE`` flag set are active.
+
+Devices generating the streams may allow enabling and disabling some of the
+routes or have a fixed routing configuration. If the routes can be disabled, not
+declaring the routes (or declaring them without
+``VIDIOC_SUBDEV_STREAM_FL_ACTIVE`` flag set) in ``VIDIOC_SUBDEV_S_ROUTING`` will
+disable the routes. ``VIDIOC_SUBDEV_S_ROUTING`` will still return such routes
+back to the user in the routes array, with the ``V4L2_SUBDEV_STREAM_FL_ACTIVE``
+flag unset.
+
+Devices transporting the streams almost always have more configurability with
+respect to routing. Typically any route between the sub-device's sink and source
+pads is possible, and multiple routes (usually up to certain limited number) may
+be active simultaneously. For such devices, no routes are created by the driver
+and user-created routes are fully replaced when ``VIDIOC_SUBDEV_S_ROUTING`` is
+called on the sub-device. Such newly created routes have the device's default
+configuration for format and selection rectangles.
+
 Configuring streams
 ^^^^^^^^^^^^^^^^^^^
 
-- 
2.39.2


  parent reply	other threads:[~2024-04-25 21:27 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-25 21:26 [PATCH v2 00/14] Generic line based metadata, without sensor API changes Sakari Ailus
2024-04-25 21:26 ` [PATCH v2 01/14] media: v4l2-subdev: Clearly document that the crop API won't be extended Sakari Ailus
2024-04-25 21:26 ` [PATCH v2 02/14] media: Documentation: Add "stream" into glossary Sakari Ailus
2024-04-25 21:27 ` [PATCH v2 03/14] media: uapi: Add generic serial metadata mbus formats Sakari Ailus
2024-04-25 21:27 ` [PATCH v2 04/14] media: uapi: Document which mbus format fields are valid for metadata Sakari Ailus
2024-04-25 21:27 ` [PATCH v2 05/14] media: uapi: v4l: Add generic 8-bit metadata format definitions Sakari Ailus
2024-04-26  8:05   ` [PATCH v2.1 " Sakari Ailus
2024-04-25 21:27 ` [PATCH v2 06/14] media: v4l: Support line-based metadata capture Sakari Ailus
2024-04-25 21:27 ` [PATCH v2 07/14] media: v4l: Set line based metadata flag in V4L2 core Sakari Ailus
2024-04-25 21:27 ` [PATCH v2 08/14] media: Documentation: Additional streams generally don't harm capture Sakari Ailus
2024-04-25 21:27 ` Sakari Ailus [this message]
2024-04-25 21:27 ` [PATCH v2 10/14] media: v4l: subdev: Add a function to lock two sub-device states, use it Sakari Ailus
2024-04-25 21:27 ` [PATCH v2 11/14] media: v4l: subdev: Copy argument back to user also for S_ROUTING Sakari Ailus
2024-04-25 21:27 ` [PATCH v2 12/14] media: v4l: subdev: Add len_routes field to struct v4l2_subdev_routing Sakari Ailus
2024-04-25 21:27 ` [PATCH v2 13/14] media: v4l: subdev: Return routes set using S_ROUTING Sakari Ailus
2024-04-25 21:27 ` [PATCH v2 14/14] media: v4l: subdev: Add trivial set_routing support Sakari Ailus

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=20240425212711.928300-10-sakari.ailus@linux.intel.com \
    --to=sakari.ailus@linux.intel.com \
    --cc=alain.volmat@foss.st.com \
    --cc=andrey.konovalov@linaro.org \
    --cc=bingbu.cao@intel.com \
    --cc=dmitry.perchanov@intel.com \
    --cc=hongju.wang@intel.com \
    --cc=hverkuil@xs4all.nl \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=khai.wen.ng@intel.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=tomi.valkeinen@ideasonboard.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).