From: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Cc: "Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
"Kieran Bingham" <kieran.bingham+renesas@ideasonboard.com>,
linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH 03/19] media: adv748x: Use V4L2 streams
Date: Fri, 3 May 2024 11:46:28 +0300 [thread overview]
Message-ID: <3d7396c0-7dad-4485-86d3-227843aee4c6@ideasonboard.com> (raw)
In-Reply-To: <20240503083156.GP4959@pendragon.ideasonboard.com>
On 03/05/2024 11:31, Laurent Pinchart wrote:
>>>> +}
>>>> +
>>>> +/*
>>>> * We use the internal registered operation to be able to ensure that our
>>>> * incremental subdevices (not connected in the forward path) can be registered
>>>> * against the resulting video path and media device.
>>>> @@ -109,6 +132,7 @@ static int adv748x_csi2_registered(struct v4l2_subdev *sd)
>>>> }
>>>>
>>>> static const struct v4l2_subdev_internal_ops adv748x_csi2_internal_ops = {
>>>> + .init_state = adv748x_csi2_init_state,
>>>
>>> The .init_state() operation needs to be provided along with the call to
>>> v4l2_subdev_init_finalize() in patch 01/19.
>>
>> I'll squash, however even if it might be a requirement for having a
>> fully working implementation, not having init_state() will not lead to
>> any crash and maybe smaller incremental patches are easier to handle.
>>
>> if (sd->internal_ops && sd->internal_ops->init_state) {
>> /*
>> * There can be no race at this point, but we lock the state
>> * anyway to satisfy lockdep checks.
>> */
>> v4l2_subdev_lock_state(state);
>> ret = sd->internal_ops->init_state(sd, state);
>> v4l2_subdev_unlock_state(state);
>
> I think it's a mistake in the core to not require .init_state() for
> subdevs using the active state. Tomi, what do you think ?
If I'm not mistaken, the v4l2 rules say that a subdev configuration
should always be a valid one (for that specific device). To fulfill
that, you need .init_state().
So yes, I agree. This is probably one more thing that can be added to
the "[PATCH v6 03/11] media: subdev: Add checks for subdev features".
Tomi
next prev parent reply other threads:[~2024-05-03 8:46 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-30 10:39 [PATCH 00/19] media: renesas: rcar-csi2: Support multiple streams Jacopo Mondi
2024-04-30 10:39 ` [PATCH 01/19] media: adv748x: Add support for active state Jacopo Mondi
2024-05-02 17:34 ` Laurent Pinchart
2024-05-03 7:55 ` Jacopo Mondi
2024-05-03 8:24 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 02/19] media: adv748x: Add flags to adv748x_subdev_init() Jacopo Mondi
2024-05-02 17:37 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 03/19] media: adv748x: Use V4L2 streams Jacopo Mondi
2024-05-02 17:40 ` Laurent Pinchart
2024-05-03 7:59 ` Jacopo Mondi
2024-05-03 8:31 ` Laurent Pinchart
2024-05-03 8:46 ` Tomi Valkeinen [this message]
2024-04-30 10:39 ` [PATCH 04/19] media: adv748x: Propagate format to opposite stream Jacopo Mondi
2024-05-02 17:41 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 05/19] media: adv748x: Implement set_routing() Jacopo Mondi
2024-05-02 17:49 ` Laurent Pinchart
2024-05-03 8:02 ` Jacopo Mondi
2024-04-30 10:39 ` [PATCH 06/19] media: adv748x: Use routes to configure VC Jacopo Mondi
2024-05-02 17:51 ` Laurent Pinchart
2024-05-02 17:52 ` Laurent Pinchart
2024-05-03 8:05 ` Jacopo Mondi
2024-04-30 10:39 ` [PATCH 07/19] media: adv748x: Implement .get_frame_desc() Jacopo Mondi
2024-05-02 17:57 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 08/19] media: max9286: Add support for subdev active state Jacopo Mondi
2024-05-02 18:10 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 09/19] media: max9286: Fix enum_mbus_code Jacopo Mondi
2024-05-02 18:14 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 10/19] media: max9286: Use frame interval from subdev state Jacopo Mondi
2024-05-02 18:23 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 11/19] media: max9286: Use V4L2 Streams Jacopo Mondi
2024-05-02 18:25 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 12/19] media: max9286: Implement .get_frame_desc() Jacopo Mondi
2024-05-02 18:32 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 13/19] media: max9286: Implement support for LINK_FREQ Jacopo Mondi
2024-05-02 18:36 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 14/19] media: max9286: Implement .get_mbus_config() Jacopo Mondi
2024-05-02 18:37 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 15/19] media: rcar-csi2: Add support for multiplexed streams Jacopo Mondi
2024-05-02 14:23 ` Niklas Söderlund
2024-05-02 18:41 ` Laurent Pinchart
2024-05-03 8:05 ` Jacopo Mondi
2024-04-30 10:39 ` [PATCH 16/19] media: rcar-csi2: Support multiplexed transmitters Jacopo Mondi
2024-05-02 14:30 ` Niklas Söderlund
2024-05-02 21:56 ` Laurent Pinchart
2024-05-03 8:07 ` Jacopo Mondi
2024-04-30 10:39 ` [PATCH 17/19] media: rcar-csi2: Store format in the subdev state Jacopo Mondi
2024-05-02 14:32 ` Niklas Söderlund
2024-05-02 22:00 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 18/19] media: rcar-csi2: Implement set_routing Jacopo Mondi
2024-05-02 22:16 ` Laurent Pinchart
2024-04-30 10:39 ` [PATCH 19/19] media: rcar-vin: Fix YUYV8_1X16 handling for CSI-2 Jacopo Mondi
2024-05-02 14:33 ` Niklas Söderlund
2024-05-02 22:16 ` Laurent Pinchart
2024-04-30 11:17 ` [PATCH 00/19] media: renesas: rcar-csi2: Support multiple streams Niklas Söderlund
2024-04-30 11:51 ` Jacopo Mondi
2024-05-02 17:35 ` Laurent Pinchart
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=3d7396c0-7dad-4485-86d3-227843aee4c6@ideasonboard.com \
--to=tomi.valkeinen@ideasonboard.com \
--cc=jacopo.mondi@ideasonboard.com \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=niklas.soderlund+renesas@ragnatech.se \
--cc=sakari.ailus@linux.intel.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).