Linux Media Controller development
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: "Jacopo Mondi" <jacopo.mondi@ideasonboard.com>,
	linux-media@vger.kernel.org, hans@jjverkuil.nl,
	Prabhakar <prabhakar.csengg@gmail.com>,
	"Kate Hsuan" <hpa@redhat.com>,
	"Alexander Shiyan" <eagle.alexander923@gmail.com>,
	"Dave Stevenson" <dave.stevenson@raspberrypi.com>,
	"Tommaso Merciai" <tomm.merciai@gmail.com>,
	"Umang Jain" <umang.jain@ideasonboard.com>,
	"Benjamin Mugnier" <benjamin.mugnier@foss.st.com>,
	"Sylvain Petinot" <sylvain.petinot@foss.st.com>,
	"Christophe JAILLET" <christophe.jaillet@wanadoo.fr>,
	"Julien Massot" <julien.massot@collabora.com>,
	"Naushir Patuck" <naush@raspberrypi.com>,
	"Yan, Dongcheng" <dongcheng.yan@intel.com>,
	"Cao, Bingbu" <bingbu.cao@intel.com>,
	"Qiu, Tian Shu" <tian.shu.qiu@intel.com>,
	"Wang, Hongju" <hongju.wang@intel.com>,
	"Stefan Klug" <stefan.klug@ideasonboard.com>,
	"Mirela Rabulea" <mirela.rabulea@nxp.com>,
	"André Apitzsch" <git@apitzsch.eu>,
	"Heimir Thor Sverrisson" <heimir.sverrisson@gmail.com>,
	"Kieran Bingham" <kieran.bingham@ideasonboard.com>,
	"Stanislaw Gruszka" <stanislaw.gruszka@linux.intel.com>,
	"Mehdi Djait" <mehdi.djait@linux.intel.com>,
	"Ricardo Ribalda Delgado" <ribalda@kernel.org>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Tomi Valkeinen" <tomi.valkeinen@ideasonboard.com>
Subject: Re: [PATCH v11 25/66] media: Documentation: v4l: Document internal sink pads
Date: Fri, 19 Sep 2025 14:26:12 +0300	[thread overview]
Message-ID: <aM091Lloh8yceLn7@kekkonen.localdomain> (raw)
In-Reply-To: <20250903202426.GV3648@pendragon.ideasonboard.com>

Hi Laurent,

On Wed, Sep 03, 2025 at 10:24:26PM +0200, Laurent Pinchart wrote:
> On Wed, Sep 03, 2025 at 02:29:09PM +0200, Jacopo Mondi wrote:
> > On Wed, Sep 03, 2025 at 03:17:29PM +0300, Sakari Ailus wrote:
> > > On Mon, Sep 01, 2025 at 06:39:29PM +0200, Jacopo Mondi wrote:
> > > > On Mon, Aug 25, 2025 at 12:50:26PM +0300, Sakari Ailus wrote:
> > > > > Document internal sink pads, pads that have both SINK and INTERNAL flags
> > > > > set. Use the IMX219 camera sensor as an example.
> > > > >
> > > > > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> > > > > Reviewed-by Julien Massot <julien.massot@collabora.com>
> > > > > ---
> > > > >  .../userspace-api/media/v4l/dev-subdev.rst    | 151 ++++++++++++++++++
> > > > >  .../media/v4l/ext-ctrls-image-source.rst      |   2 +
> > > > >  2 files changed, 153 insertions(+)
> > > > >
> > > > > diff --git a/Documentation/userspace-api/media/v4l/dev-subdev.rst b/Documentation/userspace-api/media/v4l/dev-subdev.rst
> > > > > index 4da67ee0b290..bb86cadfad1c 100644
> > > > > --- a/Documentation/userspace-api/media/v4l/dev-subdev.rst
> > > > > +++ b/Documentation/userspace-api/media/v4l/dev-subdev.rst
> > > > > @@ -553,6 +553,27 @@ A stream at a specific point in the media pipeline is identified by the
> > > > >  sub-device and a (pad, stream) pair. For sub-devices that do not support
> > > > >  multiplexed streams the 'stream' field is always 0.
> > > > >
> > > > > +.. _v4l2-subdev-internal-source-pads:
> > > > > +
> > > > > +Internal sink pads and routing
> > > > > +------------------------------
> > > > > +
> > > > > +Cases where a single sub-device source pad is traversed by multiple streams, one
> 
> s/is traversed by/carries/

Sounds good.

> 
> > > > > +or more of which originate from within the sub-device itself, are special as
> > > > > +there is no external sink pad for such routes. In those cases, the sources of
> > > > > +the internally generated streams are represented by internal sink pads, which
> > > > > +are sink pads that have the :ref:`MEDIA_PAD_FL_INTERNAL <MEDIA-PAD-FL-INTERNAL>`
> > > > > +pad flag set.
> > > > > +
> > > > > +Internal pads have all the properties of an external pad, including formats and
> > > > > +selections. The format in this case is the source format of the stream. An
> 
> I'd add "[...] and selections, but can not be connect to other subdevs
> through links."
> 
> > > > > +internal pad always has a single stream only (0).
> 
> I already have one use case (related to HDR) that could violate this
> rule. I'm fine with it for now, we can always relax it later, but I'd
> like to know your opinion on the concept.

I'd really keep internal pads single-stream only.

> 
> > > > > +
> > > > > +Routes from an internal sink pad to an external source pad are typically not
> > > > > +modifiable but they can be activated and deactivated using the
> > > > > +:ref:`V4L2_SUBDEV_ROUTE_FL_ACTIVE <v4l2-subdev-routing-flags>` flag, depending
> > > > > +on driver capabilities.
> > > >
> > > > Ah, so they are modifiable :)
> 
> I was going to mention the same :-)
> 
> > > > What about
> > > >
> > > > Routes from an internal sink pad to an external source pad are
> > > > typically created by the driver and can be activated and deactivated
> > > > using the :ref:`V4L2_SUBDEV_ROUTE_FL_ACTIVE
> > > > <v4l2-subdev-routing-flags>` flag, depending on the device
> > > > capabilities.
> 
> I'd drop "typically" as (I think) they are always created by the driver.
> We could use the word "static" already.
> 
> Routes from an internal sink pad to an external source pad are
> statically created by the driver. They are or are not immutable

The connection of "statically" to a sub-device route flag is unclear. The
same goes for immutable. (See below.)

> depending on the device capabities. The routes that are not immutable
> can be activated and deactivated using the
> :ref:`V4L2_SUBDEV_ROUTE_FL_ACTIVE <v4l2-subdev-routing-flags>` flag.
> 
> (we could possibly drop the last sentence as it's implied by not being
> immutable, but it doesn't hurt to have the information here)

We don't have these flags yet, they're added by later patches in the
series. I can add another patch to refer to these.

> 
> > > I'll use that.
> > >
> > > > > +
> > > > >  Interaction between routes, streams, formats and selections
> > > > >  -----------------------------------------------------------
> > > > >
> > > > > @@ -695,3 +716,133 @@ To configure this pipeline, the userspace must take the following steps:
> > > > >     the configurations along the stream towards the receiver, using
> > > > >     :ref:`VIDIOC_SUBDEV_S_FMT <VIDIOC_SUBDEV_G_FMT>` ioctls to configure each
> > > > >     stream endpoint in each sub-device.
> > > > > +
> > > > > +   In case generic raw and metadata formats are used,
> > > > > +   :ref:`V4L2_CID_COLOR_PATTERN <image-source-control-color-pattern>` and
> > > > > +   :ref:`V4L2_CID_METADATA_LAYOUT <image_source_control_metadata_layout>`
> > > > > +   controls are present on the source sub-device to obtain the pixel data color
> > > > > +   pattern and metadata layout.
> 
> s/pixel data color pattern/pixel array CFA pattern/
> 
> (or you can spell out color filter array)

I'm fine with CFA.

I'll add CFA to the glossary, too.

> 
> > > > > +
> > > > > +Internal pads setup example
> > > > > +---------------------------
> > > > > +
> > > > > +A simple example of a multiplexed stream setup might be as follows:
> > > > > +
> > > > > +- An IMX219 camera sensor source sub-device, with one source pad (0), one
> > > >
> > > > s/sensor source/sensor/
> > >
> > > Source sub-device is referred to in documentation elsewhere; I think it's
> > > appropriate here, too.
> > >
> > > > Should we even mention imx219 or can this be a generic "RAW camera
> > > > sensor" ?
> > >
> > > As this is an example, I think it's a good idea to use an actual device and
> > > a driver that has support for internal pads.
> > >
> > > > > +  internal sink pad (1) as the source of the image data and an internal sink
> > > > > +  pad (2) as the source of the embedded data. There are two routes, one from the
> > > >
> > > > I would provide a rational for the reason why the external source pad
> > > > is preferably assigned to id 0.
> > > >
> > > >    - A RAW camera sensor driver modeled as a single sub-device with
> > > >      three pads. The external source pas is assigned id #0 for
> > > >      compatibility reasons with existing user-space applications
> > > >      developed to work on drivers that pre-dates the introduction of
> > > >      internal pads, where the only available pad was the external
> > > >      source one. The sub-device also has two internal sink pads, pad
> > > >      #1 that represents the pixel array and produces image data and
> > > >      pad #2 that produces embedded data.
> > >
> > > I'd put this to driver documentation as it's not part of the UAPI.
> > 
> > mmmm, it's true we don't mandate for new drivers to have
> > the source pad at index #0, and it's done only for existing drivers..
> > Adn userspace should not make assumptions about pad numbers but rather
> > inspect the per-pad flags to know which one is the external source pad.
> > 
> > So yes, it's no uAPI you're right.
> 
> That may be possible for camera sensors, but in general the pad numbers
> may be part of the UAPI as there may not be any other way to tell pads
> apart on some subdevs.
> 
> For camera sensors, I would document the pad numbers explicitly in the
> raw camera sensor subdev configuration model, and make them part of the
> UAPI. I wouldn't explain the rationale here.

I understand the patch is currently aligned with this.

> 
> > > >
> > > >      There are two routes, one from the internal sink pad 1...
> > > >
> > > > > +  internal sink pad 1 to the source pad 0 (image data) and another from the
> > > > > +  internal sink pad 2 to the source pad 0 (embedded data). Both streams are
> > > > > +  always active, i.e. there is no need to separately enable the embedded data
> > > > > +  stream. The sensor uses the CSI-2 interface.
> > > > > +
> > > > > +- A CSI-2 receiver in the SoC. The receiver has a single sink pad (pad 0),
> > > > > +  connected to the sensor, and two source pads (pads 1 and 2), to the two DMA
> 
> s/the sensor/the sensor's source pad (0)/
> s/the two/two/
> 
> > > > > +  engines. The receiver demultiplexes the incoming streams to the source pads.
> > > > > +
> > > > > +- DMA engines in the SoC, one for each stream. Each DMA engine is connected to a
> 
> s/DMA engines/Two DMA engines/
> 
> > > > > +  single source pad of the receiver.
> 
> s/single/different/
> 
> > > > > +
> > > > > +The sensor and the receiver are modelled as V4L2 sub-devices, exposed to
> > > > > +userspace via /dev/v4l-subdevX device nodes. The DMA engines are modelled as
> > > > > +V4L2 devices, exposed to userspace via /dev/videoX nodes.
> 
> s/V4L2 devices/V4L2 video devices/

Yes.

> 
> > > > > +
> > > > > +To configure this pipeline, the userspace must take the following steps:
> > > > > +
> > > > > +1) Set up media links between entities: enable the links from the sensor to the
> > > > > +   receiver and from the receiver to the DMA engines. This step does not differ
> > > > > +   from normal non-multiplexed media controller setup.
> > > > > +
> > > > > +2) Configure routing
> > > > > +
> > > > > +.. flat-table:: Camera sensor. There are no configurable routes.
> > > > > +    :header-rows: 1
> > > > > +
> > > > > +    * - Sink Pad/Stream
> > > > > +      - Source Pad/Stream
> > > > > +      - Routing Flags
> > > > > +      - Comments
> > > > > +    * - 1/0
> > > > > +      - 0/0
> > > > > +      - V4L2_SUBDEV_ROUTE_FL_ACTIVE
> > > >
> > > > Is this also V4L2_SUBDEV_ROUTE_FL_IMMUTABLE ?
> > >
> > > Yes, and V4L2_SUBDEV_ROUTE_FL_STATIC. I'll update the example.
> > >
> > > In practice the patch needs to be moved forwards in the set so we'll have
> > > all the flags.
> > 
> > Yeah, I noticed later those two flags have been introduced later in
> > the series..
> > 
> > > > > +      - Pixel data stream from the internal image sink pad
> > > > > +    * - 2/0
> > > > > +      - 0/1
> > > > > +      - V4L2_SUBDEV_ROUTE_FL_ACTIVE
> 
> I assume this one is also static and immutable.

Yes, it is.

> 
> > > > > +      - Metadata stream from the internal embedded data sink pad
> > > > > +
> > > > > +The options available in the sensor's routing configuration are dictated by
> > > > > +hardware capabilities: typically camera sensors always produce an image data
> > > >
> > > > s/typically/some
> > >
> > > "Some" would suggest this may not be very common whereas I think this
> > > applies virtually to all camera sensors.
> > 
> > Ok!
> > 
> > > > > +stream while it may be possible to enable and disable the embedded data stream.
> 
> The section provides one particular example, based on the imx219, and
> then this paragraph documents a more generic concept. It's unclear if it
> applies to the imx219 as well. If you want to keep it, I would phrase it
> along the lines of
> 
> While both routes are immutable for the IMX219, other camera sensors may
> offer more flexible configuration options. Routing configuration is
> dictated by the hardware capabilities: camera sensors typically always
> produce an image data stream, but some of them support enabling and
> disabling the embedded data stream.

I'll use this.

> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Thank you.

I've split the patch into two so I'll add the ack on both.

> 
> > > >
> > > > s/it may be possible/other might allow
> > > >
> > > > if you accept my suggestion in the line above
> > > >
> > > > > +
> > > > > +.. flat-table:: Receiver routing table. Typically both routes need to be
> > > > > +		explicitly set.
> > > >
> > > > set or enabled ?
> > >
> > > On the receiver side, the routes are also created, not just enabled. I'll
> > > use "created".
> > 
> > fine as well
> > 
> > > > > +    :header-rows:  1
> > > > > +
> > > > > +    * - Sink Pad/Stream
> > > > > +      - Source Pad/Stream
> > > > > +      - Routing Flags
> > > > > +      - Comments
> > > > > +    * - 0/0
> > > > > +      - 1/0
> > > > > +      - V4L2_SUBDEV_ROUTE_FL_ACTIVE
> > > > > +      - Pixel data stream from camera sensor
> > > > > +    * - 0/1
> > > > > +      - 2/0
> > > > > +      - V4L2_SUBDEV_ROUTE_FL_ACTIVE
> > > > > +      - Metadata stream from camera sensor
> > > > > +
> > > > > +3) Configure formats and selections
> > > > > +
> > > > > +   This example assumes that the formats are propagated from sink pad to the
> > > > > +   source pad as-is. The tables contain fields of both struct v4l2_subdev_format
> > > > > +   and struct v4l2_mbus_framefmt.
> > > > > +
> > > > > +.. flat-table:: Formats set on the sub-devices. Bold values are set, others are
> > > > > +                static or propagated. The order is aligned with configured
> > > > > +                routes.
> > > > > +    :header-rows: 1
> > > > > +    :fill-cells:
> > > > > +
> > > > > +    * - Sub-device
> > > > > +      - Pad/Stream
> > > > > +      - Width
> > > > > +      - Height
> > > > > +      - Code
> > > > > +    * - :rspan:`3` IMX219
> > > >
> > > > If you want to make this generic, I would replace IMX219 with just
> > > > "Sensor"
> > > >
> > > > > +      - 1/0
> > > > > +      - 3296
> > > > > +      - 2480
> > > > > +      - MEDIA_BUS_FMT_RAW_10
> > > > > +    * - 0/0
> > > > > +      - **3296**
> > > > > +      - **2480**
> > > > > +      - **MEDIA_BUS_FMT_RAW_10**
> > > > > +    * - 2/0
> > > > > +      - 3296
> > > > > +      - 2
> > > > > +      - MEDIA_BUS_FMT_META_10
> > > > > +    * - 0/1
> > > > > +      - 3296
> > > > > +      - 2
> > > > > +      - MEDIA_BUS_FMT_META_10
> > > > > +    * - :rspan:`3` CSI-2 receiver
> > > > > +      - 0/0
> > > > > +      - **3296**
> > > > > +      - **2480**
> > > > > +      - **MEDIA_BUS_FMT_RAW_10**
> > > > > +    * - 1/0
> > > > > +      - 3296
> > > > > +      - 2480
> > > > > +      - MEDIA_BUS_FMT_RAW_10
> > > > > +    * - 0/1
> > > > > +      - **3296**
> > > > > +      - **2**
> > > > > +      - **MEDIA_BUS_FMT_META_10**
> > > > > +    * - 2/0
> > > > > +      - 3296
> > > > > +      - 2
> > > > > +      - MEDIA_BUS_FMT_META_10
> > > > > +
> > > > > +The embedded data format does not need to be configured on the sensor's pads as
> > > > > +the format is dictated by the pixel data format in this case.
> > > > > diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-image-source.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-image-source.rst
> > > > > index 64c0f9ff5b1b..d803a2f0f2f9 100644
> > > > > --- a/Documentation/userspace-api/media/v4l/ext-ctrls-image-source.rst
> > > > > +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-image-source.rst
> > > > > @@ -146,6 +146,8 @@ Image Source Control IDs
> > > > >      ``V4L2_COLOR_PATTERN_FLIP_HORIZONTAL`` and
> > > > >      ``V4L2_COLOR_PATTERN_FLIP_VERTICAL`` is provided as well.
> > > > >
> > > > > +.. _image_source_control_metadata_layout:
> > > > > +
> > > >
> > > > All comments I made are just suggestions, so take in what you like.
> > > >
> > > > Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> > >
> > > Thanks!
> > >
> > > > >  ``V4L2_CID_METADATA_LAYOUT (integer)``
> > > > >      The metadata layout control defines the on-bus metadata layout for metadata
> > > > >      streams. The control is used in conjunction with :ref:`generic metadata

-- 
Regards,

Sakari Ailus

  reply	other threads:[~2025-09-19 11:26 UTC|newest]

Thread overview: 193+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-25  9:50 [PATCH v11 00/66] Generic line based metadata support, internal pads Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 01/66] media: Documentation: Clean up figure titles Sakari Ailus
2025-09-01 11:11   ` Jacopo Mondi
2025-09-03 13:00   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 02/66] media: Documentation: Fix routing documentation flag references Sakari Ailus
2025-09-01 11:14   ` Jacopo Mondi
2025-09-03 13:01   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 03/66] media: Documentation: There are either immutable or mutable routes Sakari Ailus
2025-09-01 11:18   ` Jacopo Mondi
2025-09-02  9:38     ` Sakari Ailus
2025-09-03 13:22   ` Laurent Pinchart
2025-09-03 14:09     ` Sakari Ailus
2025-09-03 14:12     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 04/66] media: Documentation: Document -ENXIO for VIDIOC_SUBDEV_S_ROUTING Sakari Ailus
2025-09-01 11:33   ` Jacopo Mondi
2025-09-02 10:00     ` Sakari Ailus
2025-09-03 13:47       ` Laurent Pinchart
2025-09-03 14:15         ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 05/66] media: v4l2-subdev: Extend VIDIOC_SUBDEV_S_ROUTING error codes Sakari Ailus
2025-09-01 11:35   ` Jacopo Mondi
2025-09-03 13:53   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 06/66] media: ccs: No need to set streaming to false in power off Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 07/66] media: ccs: Move ccs_pm_get_init function up Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 08/66] media: ccs: Rename out label of ccs_start_streaming Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 09/66] media: ccs: Move ccs_validate_csi_data_format up Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 10/66] media: ccs: Use {enable,disable}_streams operations Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 11/66] media: ccs: Track streaming state Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 12/66] media: ccs: Support frame descriptors Sakari Ailus
2025-09-01 12:06   ` Jacopo Mondi
2025-09-02 12:26     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 13/66] media: mc: Add INTERNAL pad flag Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 14/66] media: Documentation: Refer to internal pads in metadata documentation Sakari Ailus
2025-09-01 12:08   ` Jacopo Mondi
2025-09-02 12:58     ` Sakari Ailus
2025-09-03 14:01   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 15/66] media: uapi: Add generic CSI-2 raw pixelformats Sakari Ailus
2025-09-01 13:25   ` Jacopo Mondi
2025-09-02 13:16     ` Sakari Ailus
2025-09-03 14:20       ` Laurent Pinchart
2025-09-03 14:30         ` Sakari Ailus
2025-09-02 13:16     ` Jacopo Mondi
2025-08-25  9:50 ` [PATCH v11 16/66] media: Documentation: Reference color pattern control in format docs Sakari Ailus
2025-09-01 13:51   ` Jacopo Mondi
2025-09-03 14:25     ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 17/66] media: uapi: Add new media bus codes for generic raw formats Sakari Ailus
2025-09-01 14:12   ` Jacopo Mondi
2025-09-03  9:27     ` Sakari Ailus
2025-09-03 14:32       ` Laurent Pinchart
2025-09-03 14:35         ` Sakari Ailus
2025-09-03 14:39           ` Laurent Pinchart
2025-09-03 14:38   ` Laurent Pinchart
2025-09-19 10:07     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 18/66] media: uapi: Add V4L2_CID_CONFIG_MODEL control Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 19/66] media: uapi: Add V4L2_CID_COLOR_PATTERN for describing color patterns Sakari Ailus
2025-09-03 15:05   ` Laurent Pinchart
2025-09-19 21:35     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 20/66] media: Documentation: Reference COLOR_PATTERN control in raw format docs Sakari Ailus
2025-09-01 14:21   ` Jacopo Mondi
2025-09-03 10:03     ` Sakari Ailus
2025-09-03 12:03       ` Jacopo Mondi
2025-09-03 15:10         ` Laurent Pinchart
2025-09-19 10:09           ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 21/66] media: v4l: uapi: Add a control for color pattern flipping effect Sakari Ailus
2025-09-01 14:34   ` Jacopo Mondi
2025-09-03 10:25     ` Sakari Ailus
2025-09-03 10:40       ` Sakari Ailus
2025-09-03 12:18         ` Jacopo Mondi
2025-09-03 12:38           ` Sakari Ailus
2025-09-03 12:37       ` Jacopo Mondi
2025-09-03 13:25         ` Sakari Ailus
2025-09-03 15:28           ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 22/66] media: Documentation: Reference flipping controls in raw format docs Sakari Ailus
2025-09-02 13:06   ` Jacopo Mondi
2025-09-03 15:31   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 23/66] media: Documentation: Document raw mbus codes and CFA for cameras Sakari Ailus
2025-09-01 14:59   ` Jacopo Mondi
2025-09-03 11:00     ` Sakari Ailus
2025-09-03 15:35       ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 24/66] media: uapi: Add V4L2_CID_METADATA_LAYOUT control Sakari Ailus
2025-09-01 15:07   ` Jacopo Mondi
2025-09-03 11:13     ` Sakari Ailus
2025-09-03 19:52       ` Laurent Pinchart
2025-09-19 10:36         ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 25/66] media: Documentation: v4l: Document internal sink pads Sakari Ailus
2025-09-01 16:39   ` Jacopo Mondi
2025-09-03 12:17     ` Sakari Ailus
2025-09-03 12:29       ` Jacopo Mondi
2025-09-03 13:27         ` Sakari Ailus
2025-09-03 20:24         ` Laurent Pinchart
2025-09-19 11:26           ` Sakari Ailus [this message]
2025-08-25  9:50 ` [PATCH v11 26/66] media: Documentation: Document embedded data guidelines for camera sensors Sakari Ailus
2025-09-01 16:42   ` Jacopo Mondi
2025-09-03 13:37     ` Sakari Ailus
2025-09-03 20:40       ` Laurent Pinchart
2025-09-19 11:46         ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 27/66] media: uapi: ccs: Add metadata layout for MIPI CCS embedded data Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 28/66] media: Documentation: Document non-CCS use of CCS embedded data layout Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 29/66] media: ccs: Add support for embedded data stream Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 30/66] media: Documentation: ccs: Document routing Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 31/66] media: ccs: Remove ccs_get_crop_compose helper Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 32/66] media: ccs: Rely on sub-device state locking Sakari Ailus
2025-09-03 20:56   ` Laurent Pinchart
2025-09-22  7:48     ` Sakari Ailus
2026-01-14 12:13     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 33/66] media: ccs: Compute binning configuration from sub-device state Sakari Ailus
2025-09-03 21:00   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 34/66] media: ccs: Compute scaling " Sakari Ailus
2025-09-03 21:02   ` Laurent Pinchart
2026-01-14 11:16     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 35/66] media: ccs: Remove which parameter from ccs_propagate Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 36/66] media: ccs: Detemine emb_data_ctrl register from sub-device state Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 37/66] media: uapi: Correct generic CSI-2 metadata format 4cc Sakari Ailus
2025-09-01 16:45   ` Jacopo Mondi
2025-09-03 21:35   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 38/66] Revert "media: uapi: v4l: Don't expose generic metadata formats to userspace" Sakari Ailus
2025-09-01 16:46   ` Jacopo Mondi
2025-09-03 21:36   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 39/66] media: Documentation: Add subdev configuration models, raw sensor model Sakari Ailus
2025-09-01 17:09   ` Jacopo Mondi
2025-09-19 12:17     ` Sakari Ailus
2025-09-25 10:31       ` Jacopo Mondi
2025-10-02  7:09         ` Sakari Ailus
2025-10-02  7:22           ` Jacopo Mondi
2025-10-02  7:54             ` Sakari Ailus
2025-10-03  7:10             ` Jacopo Mondi
2025-10-03 13:15               ` Sakari Ailus
2025-10-03 13:25                 ` Jacopo Mondi
2025-10-07 14:01                   ` Jacopo Mondi
2025-10-10  9:45                     ` Stefan Klug
2025-10-10 10:56                       ` Kieran Bingham
2026-01-15 12:04                         ` Sakari Ailus
2026-01-15 21:06                           ` Stefan Klug
2026-01-16 14:46                             ` Stefan Klug
2026-01-16 22:03                               ` Sakari Ailus
2026-01-13 14:46                     ` Jacopo Mondi
2026-01-14 12:54                       ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 40/66] media: Document enable_streams and disable_streams behaviour Sakari Ailus
2025-09-01 17:11   ` Jacopo Mondi
2025-09-03 21:29   ` Laurent Pinchart
2025-09-19 12:21     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 41/66] media: Documentation: Add scaling and post-scaler crop for common raw Sakari Ailus
2025-09-01 17:12   ` Jacopo Mondi
2025-09-19 12:42     ` Sakari Ailus
2025-09-25 10:45       ` Jacopo Mondi
2025-10-02  7:12         ` Sakari Ailus
2025-10-02  7:18           ` Jacopo Mondi
2025-08-25  9:50 ` [PATCH v11 42/66] media: uapi: Add MIPI CCS configuration model Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 43/66] media: uapi: Add V4L2_CID_BINNING control for binning configuration Sakari Ailus
2025-09-01 17:27   ` Jacopo Mondi
2025-09-19 14:53     ` Sakari Ailus
2025-10-10 10:21   ` Stefan Klug
2025-10-20 14:42     ` David Plowman
2025-10-20 19:24       ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 44/66] media: uapi: Add controls for sub-sampling configuration Sakari Ailus
2025-09-01 17:29   ` Jacopo Mondi
2025-09-19 16:25     ` Sakari Ailus
2026-03-26 16:05   ` Benjamin Mugnier
2026-03-26 16:54     ` Sakari Ailus
2026-03-30 15:00       ` Benjamin Mugnier
2026-03-30 16:20         ` Sakari Ailus
2026-03-31  6:40           ` Jacopo Mondi
2026-03-31 10:45             ` Benjamin Mugnier
2025-08-25  9:50 ` [PATCH v11 45/66] media: Documentation: Add binning and sub-sampling controls Sakari Ailus
2025-09-01 17:30   ` Jacopo Mondi
2025-08-25  9:50 ` [PATCH v11 46/66] media: uapi: Add metadata layout for ov2740 embedded data Sakari Ailus
2025-09-03 21:43   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 47/66] media: ov2740: Add support for " Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 48/66] media: ov2740: Add support for generic raw formats Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 49/66] media: ov2740: Add metadata layout control Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 50/66] media: ov2740: Add support for G_SELECTION IOCTL Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 51/66] media: v4l: Add V4L2_SUBDEV_ROUTE_FL_IMMUTABLE sub-device routing flag Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 52/66] media: v4l: Add V4L2_SUBDEV_ROUTE_FL_STATIC " Sakari Ailus
2025-09-01 17:32   ` Jacopo Mondi
2025-09-03 21:52   ` Laurent Pinchart
2025-09-19 16:45     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 53/66] media: Documentation: Document IMMUTABLE and STATIC route flags Sakari Ailus
2025-09-01 17:35   ` Jacopo Mondi
2025-09-19 16:57     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 54/66] media: uapi: v4l: subdev: Enable streams API Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 55/66] media: ccs: Add IMMUTABLE and STATIC route flags Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 56/66] media: ov2740: " Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 57/66] media: i2c: imx219: Inline imx219_update_pad_format() in its caller Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 58/66] media: i2c: imx219: Add internal image sink pad Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 59/66] media: i2c: imx219: Add image stream Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 60/66] media: i2c: imx219: Report internal routes to userspace Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 61/66] media: i2c: imx219: Report streams using frame descriptors Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 62/66] media: i2c: imx219: Add embedded data support Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 63/66] media: imx219: Add support for generic raw formats Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 64/66] media: ccs: Add frame descriptor quirk Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 65/66] media: ipu6: Add support for luma-only formats Sakari Ailus
2025-11-11  8:01   ` Bingbu Cao
2025-08-25  9:51 ` [PATCH v11 66/66] media: ipu6: Add support for raw CFA-agnostic formats Sakari Ailus
2025-11-11  8:03   ` Bingbu Cao

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=aM091Lloh8yceLn7@kekkonen.localdomain \
    --to=sakari.ailus@linux.intel.com \
    --cc=benjamin.mugnier@foss.st.com \
    --cc=bingbu.cao@intel.com \
    --cc=christophe.jaillet@wanadoo.fr \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=dongcheng.yan@intel.com \
    --cc=eagle.alexander923@gmail.com \
    --cc=git@apitzsch.eu \
    --cc=hans@jjverkuil.nl \
    --cc=hdegoede@redhat.com \
    --cc=heimir.sverrisson@gmail.com \
    --cc=hongju.wang@intel.com \
    --cc=hpa@redhat.com \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=julien.massot@collabora.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mehdi.djait@linux.intel.com \
    --cc=mirela.rabulea@nxp.com \
    --cc=naush@raspberrypi.com \
    --cc=prabhakar.csengg@gmail.com \
    --cc=ribalda@kernel.org \
    --cc=stanislaw.gruszka@linux.intel.com \
    --cc=stefan.klug@ideasonboard.com \
    --cc=sylvain.petinot@foss.st.com \
    --cc=tian.shu.qiu@intel.com \
    --cc=tomi.valkeinen@ideasonboard.com \
    --cc=tomm.merciai@gmail.com \
    --cc=umang.jain@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