public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: Mirela Rabulea <mirela.rabulea@nxp.com>
Cc: linux-media@vger.kernel.org,
	"Julien Vuillaumier" <julien.vuillaumier@nxp.com>,
	hverkuil@xs4all.nl, laurent.pinchart@ideasonboard.com,
	Prabhakar <prabhakar.csengg@gmail.com>,
	"Kate Hsuan" <hpa@redhat.com>,
	"Alexander Shiyan" <eagle.alexander923@gmail.com>,
	"Mikhail Rudenko" <mike.rudenko@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>,
	"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>
Subject: Re: [RFC v5 04/15] media: Documentation: Add subdev configuration models, raw sensor model
Date: Wed, 26 Feb 2025 10:36:28 +0000	[thread overview]
Message-ID: <Z77urMm_7CDT_Cgz@kekkonen.localdomain> (raw)
In-Reply-To: <dfa7f382-e537-4d91-870d-fed5d6d13060@nxp.com>

Hi Mirela,

On Wed, Feb 26, 2025 at 11:17:43AM +0200, Mirela Rabulea wrote:
> Hi Sakari,
> 
> On 09.02.2025 17:42, Mirela Rabulea wrote:
> > Hi Sakari,
> > 
> > Reviewed-by: Mirela Rabulea <mirela.rabulea@nxp.com>
> > 
> > Regards,
> > 
> > Mirela
> > 
> > On 03.02.2025 10:58, Sakari Ailus wrote:
> > > Sub-device configuration models define what V4L2 API elements are
> > > available on a compliant sub-device and how do they behave.
> > > 
> > > The patch also adds a model for common raw sensors.
> > > 
> > > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> > > Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
> > > ---
> > >   .../media/drivers/camera-sensor.rst           |   4 +
> > >   .../media/v4l/common-raw-sensor.dia           | 441 ++++++++++++++++++
> > >   .../media/v4l/common-raw-sensor.svg           | 134 ++++++
> > >   .../userspace-api/media/v4l/dev-subdev.rst    |   2 +
> > >   .../media/v4l/subdev-config-model.rst         | 209 +++++++++
> > >   5 files changed, 790 insertions(+)
> > >   create mode 100644
> > > Documentation/userspace-api/media/v4l/common-raw-sensor.dia
> > >   create mode 100644
> > > Documentation/userspace-api/media/v4l/common-raw-sensor.svg
> > >   create mode 100644
> > > Documentation/userspace-api/media/v4l/subdev-config-model.rst
> > > 
> > > ...
> 
> > > +
> > > +Common raw camera sensor model
> > > +------------------------------
> > > +
> > > +The common raw camera sensor model defines a set of enumeration and
> > > +configuration interfaces (formats, selections etc.) that cover the
> > > vast majority
> > > +of functionality of raw camera sensors. Not all of the interfaces are
> > > +necessarily offered by all drivers.
> > > +
> > > +A sub-device complies with the common raw sensor model if the
> > > +``V4L2_CONFIG_MODEL_COMMON_RAW`` bit is set in the
> > > ``V4L2_CID_CONFIG_MODEL``
> > > +control of the sub-device.
> > > +
> > > +The common raw camera sensor model is aligned with
> > > +:ref:`media_using_camera_sensor_drivers`. Please refer to that
> > > regarding aspects
> > > +not specified here.
> > > +
> > > +Each camera sensor implementing the common raw sensor model exposes
> > > a single
> > > +V4L2 sub-device. The sub-device contains a single source pad (0)
> > > and two or more
> > > +internal pads: an image data internal pad (1) and optionally an
> > > embedded data
> > > +pad (2). Additionally, further internal pads may be supported for other
> > > +features, in which case they are documented separately for the
> > > given device.
> 
> One more question here, to be sure I understand correctly. So, in order to
> be compliant with the common raw camera sensor model, in case a raw sensor
> will need more than 2 internal pads, the expectation is to keep image on pad
> 0, edata on pad 1, and add more needed pads? Or is it acceptable that a
> driver completely changes the pad numbering according to it's needs, as long
> as it is documented?
> 
> The case I am targeting is os08a20 hdr sensor, with: pad1-image long
> exposure, pad2-edata, pad3-image short exposure. So far, so good, I guess.
> 
> I don't know if there will be such a case for a sensor driver which does not
> support embedded data, but will need to support other internal pads, and in
> such a case, how should pad numbering look like?

Good question.

I think we could change the common raw sensor model in such a way that the
embedded data internal pad is the first one using a metadata mbus code,
instead of using a plain number.

Laurent, any thoughts?

-- 
Kind regards,

Sakari Ailus

  reply	other threads:[~2025-02-26 10:36 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-03  8:58 [RFC v5 00/15] Sub-device configuration models Sakari Ailus
2025-02-03  8:58 ` [RFC v5 01/15] media: Documentation: Rework embedded data documentation Sakari Ailus
2025-02-03 14:52   ` Lad, Prabhakar
2025-02-09 15:06   ` RFC " Mirela Rabulea
2025-02-03  8:58 ` [RFC v5 02/15] media: Documentation: Add a hyphen to list-based Sakari Ailus
2025-02-03 14:53   ` Lad, Prabhakar
2025-02-03  8:58 ` [RFC v5 03/15] media: Documentation: Reword split of sensor driver to two classes Sakari Ailus
2025-02-03 14:57   ` Lad, Prabhakar
2025-02-03  8:58 ` [RFC v5 04/15] media: Documentation: Add subdev configuration models, raw sensor model Sakari Ailus
2025-02-03 15:14   ` Lad, Prabhakar
2025-02-09 15:42   ` Mirela Rabulea
2025-02-26  9:17     ` Mirela Rabulea
2025-02-26 10:36       ` Sakari Ailus [this message]
2025-02-03  8:58 ` [RFC v5 05/15] media: Documentation: Add scaling and post-scaler crop for common raw Sakari Ailus
2025-02-03 15:45   ` Lad, Prabhakar
2025-02-03  8:58 ` [RFC v5 06/15] media: uapi: Add V4L2_CID_CONFIG_MODEL control Sakari Ailus
2025-02-03 15:46   ` Lad, Prabhakar
2025-02-10  9:09   ` Hans Verkuil
2025-02-10 13:25     ` Sakari Ailus
2025-02-10 14:07       ` Hans Verkuil
2025-02-20 10:50         ` Sakari Ailus
2025-02-03  8:58 ` [RFC v5 07/15] media: uapi: Add V4L2_CID_COLOUR_PATTERN for describing colour patterns Sakari Ailus
2025-02-09 17:14   ` Mirela Rabulea
2025-02-10 13:39     ` Sakari Ailus
2025-02-10  8:57   ` Hans Verkuil
2025-02-10 14:37     ` Sakari Ailus
2025-02-03  8:58 ` [RFC v5 08/15] media: uapi: Correct generic CSI-2 metadata format 4cc Sakari Ailus
2025-02-03  8:58 ` [RFC v5 09/15] media: uapi: Documentation: Improve column width hints for examples Sakari Ailus
2025-02-03  8:58 ` [RFC v5 10/15] media: v4l: uapi: Add a control for colour pattern flipping effect Sakari Ailus
2025-02-09 17:23   ` Mirela Rabulea
2025-02-10 13:53     ` Sakari Ailus
2025-02-11 16:00       ` Dave Stevenson
2025-02-03  8:58 ` [RFC v5 11/15] media: Documentation: Document luma-only mbus codes and CFA for cameras Sakari Ailus
2025-02-09 17:48   ` [EXT] " Mirela Rabulea
2025-02-10 14:35     ` Sakari Ailus
2025-02-03  8:58 ` [RFC v5 12/15] media: uapi: Documentation: Use luma formats with CFA pattern control Sakari Ailus
2025-02-09 17:50   ` Mirela Rabulea
2025-02-03  8:58 ` [RFC v5 13/15] media: uapi: Add V4L2_CID_BINNING control for binning configuration Sakari Ailus
2025-02-10 14:07   ` Hans Verkuil
2025-02-10 14:32     ` Sakari Ailus
2025-02-03  8:58 ` [RFC v5 14/15] media: uapi: Add controls for sub-sampling configuration Sakari Ailus
2025-02-03  8:58 ` [RFC v5 15/15] media: Documentation: Add binning and sub-sampling controls Sakari Ailus
2025-02-10 13:46 ` [RFC v5 00/15] Sub-device configuration models 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=Z77urMm_7CDT_Cgz@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=hdegoede@redhat.com \
    --cc=heimir.sverrisson@gmail.com \
    --cc=hongju.wang@intel.com \
    --cc=hpa@redhat.com \
    --cc=hverkuil@xs4all.nl \
    --cc=julien.massot@collabora.com \
    --cc=julien.vuillaumier@nxp.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mehdi.djait@linux.intel.com \
    --cc=mike.rudenko@gmail.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=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