From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: linux-media@vger.kernel.org
Cc: Benjamin Mugnier <benjamin.mugnier@foss.st.com>,
Sylvain Petinot <sylvain.petinot@foss.st.com>,
Yong Zhi <yong.zhi@intel.com>, Dan Scally <djrscally@gmail.com>,
Jacopo Mondi <jacopo.mondi@ideasonboard.com>,
hverkuil@xs4all.nl, laurent.pinchart@ideasonboard.com,
bingbu.cao@intel.com, Tianshu Qiu <tian.shu.qiu@intel.com>,
Maxime Ripard <mripard@kernel.org>,
Rui Miguel Silva <rmfrfs@gmail.com>,
Martin Kepplinger <martink@posteo.de>,
Purism Kernel Team <kernel@puri.sm>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
Robert Foss <rfoss@kernel.org>, Todor Tomov <todor.too@gmail.com>,
Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@broadcom.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Benoit Parrot <bparrot@ti.com>,
Ricardo Ribalda <ribalda@chromium.org>,
"Duc-Long, Le" <duclong.linux@gmail.com>
Subject: [PATCH v9 0/9] Use V4L2 mbus config for conveying link frequency
Date: Sun, 19 Jan 2025 16:38:55 +0200 [thread overview]
Message-ID: <20250119143904.114991-1-sakari.ailus@linux.intel.com> (raw)
Hi folks,
This set adds a few helpers for obtaining the link frequency from the V4L2
mbus config for devices that don't need to provide an UAPI to change it,
and finally move drivers to call v4l2_get_link_freq() on a pad.
since v8:
- Use memset() to zero mbus config in call_get_mbus_config() instead of
documenting the caller is responsible for that.
- Call the function obtaining media pad in the external sub-device
camss_find_sensor_pad() in the qcom camss driver. Correspondingly, call
the related local variables "sensor_pad" instead of "sensor".
since v7:
- Drop ctrl_to_csi() as it's now unused.
- Add patches to document how CSI-2 receiver should obtain the link
frequency, moving stopping streaming out of CSI-2 specific part and
adding a note on setting all fields in get_mbus_config() op.
- Added a patch to convert existing users of v4l2_get_link_freq() to
operate on a media pad (vs. the control handler). I'll postpone merging
this however to test it a bit as it touches a number of drivers for
which I have no hardware for.
- Revert the order or the ivsc and ipu6 patches.
- Improved documentation as discussed with Laurent in v7 review.
since v6:
- Remove comments on #else / #endif, it's trivial.
- Add a patch to convert the ipu6 driver.
since v5:
- Only support pad-based operation with CONFIG_MEDIA_CONTROLLER (1st and
2nd patches).
since v4:
- Rework documentation a little.
- Remove wrong alignment change in 2nd patch.
- Move link_freq field after the type field in struct v4l2_mbus_config.
since v3:
- Add back missing ret I accidentally removed rather than moved to the 2nd
patch.
since v2:
- Switch to V4L2 mbus config for conveying the link frequency.
since v1:
- Add a new 64-bit integer control V4L2_CID_CUR_LINK_FREQ instead of
re-using V4L2_CID_LINK_FREQ.
Sakari Ailus (9):
media: v4l: Support passing media pad argument to v4l2_get_link_freq()
media: v4l: Support obtaining link frequency via get_mbus_config
media: Documentation: Update link frequency driver documentation
media: Documentation: tx-rx: Move transmitter control out of CSI-2
part
media: Documentation: Receiver drivers should call
v4l2_get_link_freq()
media: v4l: Memset argument to 0 before calling get_mbus_config pad op
media: intel/ipu6: Obtain link frequency from the remote subdev pad
media: ivsc: csi: Obtain link frequency from the media pad
media: v4l: Convert the users of v4l2_get_link_freq to call it on a
pad
Documentation/driver-api/media/tx-rx.rst | 26 ++++---
drivers/media/i2c/st-mipid02.c | 5 +-
drivers/media/i2c/tc358746.c | 4 +-
drivers/media/pci/intel/ipu3/ipu3-cio2.c | 11 ++-
drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c | 12 +--
drivers/media/pci/intel/ivsc/mei_csi.c | 78 +++++++------------
drivers/media/platform/cadence/cdns-csi2rx.c | 4 +-
drivers/media/platform/nxp/imx-mipi-csis.c | 5 +-
drivers/media/platform/nxp/imx8mq-mipi-csi2.c | 11 ++-
.../media/platform/qcom/camss/camss-vfe-17x.c | 9 ++-
.../platform/qcom/camss/camss-vfe-gen1.c | 9 ++-
drivers/media/platform/qcom/camss/camss.c | 27 +++----
drivers/media/platform/qcom/camss/camss.h | 2 +-
.../media/platform/raspberrypi/rp1-cfe/cfe.c | 4 +-
drivers/media/platform/st/stm32/stm32-csi.c | 4 +-
drivers/media/platform/ti/cal/cal-camerarx.c | 3 +-
drivers/media/platform/ti/cal/cal.c | 4 +-
drivers/media/platform/ti/cal/cal.h | 1 +
drivers/media/v4l2-core/v4l2-common.c | 32 +++++++-
drivers/media/v4l2-core/v4l2-subdev.c | 2 +
include/media/v4l2-common.h | 19 ++++-
include/media/v4l2-mediabus.h | 2 +
include/media/v4l2-subdev.h | 4 +-
23 files changed, 161 insertions(+), 117 deletions(-)
base-commit: c4b7779abc6633677e6edb79e2809f4f61fde157
--
2.39.5
next reply other threads:[~2025-01-19 14:39 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-19 14:38 Sakari Ailus [this message]
2025-01-19 14:38 ` [PATCH v9 1/9] media: v4l: Support passing media pad argument to v4l2_get_link_freq() Sakari Ailus
2025-01-19 14:38 ` [PATCH v9 2/9] media: v4l: Support obtaining link frequency via get_mbus_config Sakari Ailus
2025-01-19 14:38 ` [PATCH v9 3/9] media: Documentation: Update link frequency driver documentation Sakari Ailus
2025-01-19 14:38 ` [PATCH v9 4/9] media: Documentation: tx-rx: Move transmitter control out of CSI-2 part Sakari Ailus
2025-01-19 14:39 ` [PATCH v9 5/9] media: Documentation: Receiver drivers should call v4l2_get_link_freq() Sakari Ailus
2025-01-19 14:39 ` [PATCH v9 6/9] media: v4l: Memset argument to 0 before calling get_mbus_config pad op Sakari Ailus
2025-01-19 14:39 ` [PATCH v9 7/9] media: intel/ipu6: Obtain link frequency from the remote subdev pad Sakari Ailus
2025-01-19 14:39 ` [PATCH v9 8/9] media: ivsc: csi: Obtain link frequency from the media pad Sakari Ailus
2025-01-19 14:39 ` [PATCH v9 9/9] media: v4l: Convert the users of v4l2_get_link_freq to call it on a pad Sakari Ailus
2025-01-19 17:46 ` kernel test robot
2025-01-19 18:17 ` kernel test robot
2025-01-19 18:28 ` kernel test robot
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=20250119143904.114991-1-sakari.ailus@linux.intel.com \
--to=sakari.ailus@linux.intel.com \
--cc=alexandre.torgue@foss.st.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=benjamin.mugnier@foss.st.com \
--cc=bingbu.cao@intel.com \
--cc=bparrot@ti.com \
--cc=bryan.odonoghue@linaro.org \
--cc=djrscally@gmail.com \
--cc=duclong.linux@gmail.com \
--cc=festevam@gmail.com \
--cc=florian.fainelli@broadcom.com \
--cc=hverkuil@xs4all.nl \
--cc=jacopo.mondi@ideasonboard.com \
--cc=kernel-list@raspberrypi.com \
--cc=kernel@pengutronix.de \
--cc=kernel@puri.sm \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=martink@posteo.de \
--cc=mcoquelin.stm32@gmail.com \
--cc=mripard@kernel.org \
--cc=rfoss@kernel.org \
--cc=ribalda@chromium.org \
--cc=rmfrfs@gmail.com \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=sylvain.petinot@foss.st.com \
--cc=tian.shu.qiu@intel.com \
--cc=todor.too@gmail.com \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=yong.zhi@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