From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: linux-media@vger.kernel.org
Cc: hans@jjverkuil.nl, laurent.pinchart@ideasonboard.com,
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>,
"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>,
"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>,
"Mehdi Djait" <mehdi.djait@linux.intel.com>,
"Ricardo Ribalda Delgado" <ribalda@kernel.org>,
"Hans de Goede" <hansg@kernel.org>,
"Jacopo Mondi" <jacopo.mondi@ideasonboard.com>,
"Tomi Valkeinen" <tomi.valkeinen@ideasonboard.com>,
"David Plowman" <david.plowman@raspberrypi.com>,
"Yu, Ong Hock" <ong.hock.yu@intel.com>,
"Ng, Khai Wen" <khai.wen.ng@intel.com>
Subject: [PATCH v2 08/14] media: mc: Don't care about unsettable flags in MEDIA_IOC_LINK_SETUP
Date: Wed, 11 Feb 2026 11:09:14 +0200 [thread overview]
Message-ID: <20260211090920.1851141-9-sakari.ailus@linux.intel.com> (raw)
In-Reply-To: <20260211090920.1851141-1-sakari.ailus@linux.intel.com>
The implementation of MEDIA_IOC_LINK_SETUP currently requires that all
flags that are set by the driver are correctly set as the driver expect.
This poses a problem for adding new flags as programs could not work with
links that have unknown flags even when the use of these flags wouldn't
affect the program.
Ignore the non-settable link flags.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
drivers/media/mc/mc-entity.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/media/mc/mc-entity.c b/drivers/media/mc/mc-entity.c
index b29b519237d6..cf72bfb8885c 100644
--- a/drivers/media/mc/mc-entity.c
+++ b/drivers/media/mc/mc-entity.c
@@ -1378,7 +1378,7 @@ static int __media_entity_setup_link_notify(struct media_link *link, u32 flags)
int __media_entity_setup_link(struct media_link *link, u32 flags)
{
- const u32 mask = MEDIA_LNK_FL_ENABLED;
+ const u32 settable_flags = MEDIA_LNK_FL_ENABLED;
struct media_device *mdev;
struct media_pad *source, *sink;
int ret = -EBUSY;
@@ -1386,10 +1386,6 @@ int __media_entity_setup_link(struct media_link *link, u32 flags)
if (link == NULL)
return -EINVAL;
- /* The non-modifiable link flags must not be modified. */
- if ((link->flags & ~mask) != (flags & ~mask))
- return -EINVAL;
-
if (link->flags & MEDIA_LNK_FL_IMMUTABLE)
return link->flags == flags ? 0 : -EINVAL;
@@ -1403,6 +1399,10 @@ int __media_entity_setup_link(struct media_link *link, u32 flags)
(media_pad_is_streaming(source) || media_pad_is_streaming(sink)))
return -EBUSY;
+ /* Only allow changing user-settable flags. */
+ flags &= settable_flags;
+ flags |= link->flags & ~settable_flags;
+
mdev = source->graph_obj.mdev;
if (mdev->ops && mdev->ops->link_notify) {
--
2.47.3
next prev parent reply other threads:[~2026-02-11 9:09 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-11 9:09 [PATCH v2 00/14] Metadata series preparation Sakari Ailus
2026-02-11 9:09 ` [PATCH v2 01/14] media: imx219: Rename "PIXEL_ARRAY" as "CROP" Sakari Ailus
2026-02-13 14:42 ` Jacopo Mondi
2026-02-13 17:24 ` Sakari Ailus
2026-02-11 9:09 ` [PATCH v2 02/14] media: v4l2-subdev: Allow accessing routes with STREAMS client capability Sakari Ailus
2026-02-13 14:48 ` Jacopo Mondi
2026-02-15 14:18 ` Mirela Rabulea
2026-02-11 9:09 ` [PATCH v2 03/14] media: Documentation: Improve LINK_FREQ documentation Sakari Ailus
2026-02-13 14:49 ` Jacopo Mondi
2026-02-15 14:37 ` Mirela Rabulea
2026-02-16 8:42 ` Sakari Ailus
2026-02-11 9:09 ` [PATCH v2 04/14] media: Documentation: Improve pixel rate calculation documentation Sakari Ailus
2026-02-13 14:49 ` Jacopo Mondi
2026-02-15 14:38 ` Mirela Rabulea
2026-02-11 9:09 ` [PATCH v2 05/14] media: v4l2-subdev: Refactor returning routes Sakari Ailus
2026-02-13 15:01 ` Jacopo Mondi
2026-02-13 17:29 ` Sakari Ailus
2026-02-15 14:39 ` Mirela Rabulea
2026-02-16 9:02 ` Sakari Ailus
2026-02-16 10:09 ` Mirela Rabulea
2026-02-11 9:09 ` [PATCH v2 06/14] media: mc: Separate single link validation into a new function Sakari Ailus
2026-02-15 14:42 ` Mirela Rabulea
2026-02-16 9:18 ` Sakari Ailus
2026-02-11 9:09 ` [PATCH v2 07/14] media: mc: Add MEDIA_LNK_FL_VALIDATE_LATE Sakari Ailus
2026-02-16 13:19 ` Mirela Rabulea
2026-02-16 21:14 ` Sakari Ailus
2026-02-11 9:09 ` Sakari Ailus [this message]
2026-02-16 13:55 ` [PATCH v2 08/14] media: mc: Don't care about unsettable flags in MEDIA_IOC_LINK_SETUP Mirela Rabulea
2026-02-16 21:31 ` Sakari Ailus
2026-02-11 9:09 ` [PATCH v2 09/14] media: Document enable_streams and disable_streams behaviour Sakari Ailus
2026-02-16 14:03 ` Mirela Rabulea
2026-02-17 8:37 ` Sakari Ailus
2026-03-25 9:16 ` Sakari Ailus
2026-02-11 9:09 ` [PATCH v2 10/14] media: v4l2-subdev: Move subdev client capabilities into a new struct Sakari Ailus
2026-02-16 15:40 ` Mirela Rabulea
2026-02-11 9:09 ` [PATCH v2 11/14] media: v4l2-subdev: Add struct v4l2_subdev_client_info pointer to pad ops Sakari Ailus
2026-02-16 15:40 ` Mirela Rabulea
2026-02-16 21:35 ` Sakari Ailus
2026-02-11 9:09 ` [PATCH v2 12/14] media: v4l2-subdev: Add v4l2_subdev_call_ci_active_state Sakari Ailus
2026-02-16 16:20 ` Mirela Rabulea
2026-02-17 8:09 ` Sakari Ailus
2026-02-11 9:09 ` [PATCH v2 13/14] media: v4l2-subdev: Perform client info changes to i2c drivers Sakari Ailus
2026-02-11 9:09 ` [PATCH v2 14/14] media: v4l2-subdev: Add struct v4l2_subdev_client_info argument to pad ops Sakari Ailus
2026-02-13 14:36 ` [PATCH v2 00/14] Metadata series preparation Jacopo Mondi
2026-02-13 17:16 ` Sakari Ailus
2026-02-16 8:50 ` Jacopo Mondi
2026-02-16 11:19 ` Sakari Ailus
2026-02-16 11:56 ` Jacopo Mondi
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=20260211090920.1851141-9-sakari.ailus@linux.intel.com \
--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=david.plowman@raspberrypi.com \
--cc=dongcheng.yan@intel.com \
--cc=eagle.alexander923@gmail.com \
--cc=git@apitzsch.eu \
--cc=hans@jjverkuil.nl \
--cc=hansg@kernel.org \
--cc=heimir.sverrisson@gmail.com \
--cc=hpa@redhat.com \
--cc=jacopo.mondi@ideasonboard.com \
--cc=julien.massot@collabora.com \
--cc=khai.wen.ng@intel.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=ong.hock.yu@intel.com \
--cc=prabhakar.csengg@gmail.com \
--cc=ribalda@kernel.org \
--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 \
/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