<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/media/platform/cadence, branch linux-6.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.9.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.9.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2024-05-30T07:44:52Z</updated>
<entry>
<title>media: cadence: csi2rx: configure DPHY before starting source stream</title>
<updated>2024-05-30T07:44:52Z</updated>
<author>
<name>Pratyush Yadav</name>
<email>p.yadav@ti.com</email>
</author>
<published>2024-02-23T08:23:01Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9dc1df604826126f4f596492f21270ce126e009b'/>
<id>urn:sha1:9dc1df604826126f4f596492f21270ce126e009b</id>
<content type='text'>
[ Upstream commit fd64dda48f7e3f67ada1e1fe47e784ab350da72e ]

When the source device is operating above 1.5 Gbps per lane, it needs to
send the Skew Calibration Sequence before sending any HS data. If the
DPHY is initialized after the source stream is started, then it might
miss the sequence and not be able to receive data properly. Move the
start of source subdev to the end of the sequence to make sure
everything is ready to receive data before the source starts streaming.

Signed-off-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Fixes: 3295cf1241d3 ("media: cadence: Add support for external dphy")
Tested-by: Julien Massot &lt;julien.massot@collabora.com&gt;
Tested-by: Changhuang Liang &lt;Changhuang.liang@starfivetech.com&gt;
Reviewed-by: Julien Massot &lt;julien.massot@collabora.com&gt;
Reviewed-by: Changhuang Liang &lt;Changhuang.liang@starfivetech.com&gt;
Signed-off-by: Jai Luthra &lt;j-luthra@ti.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: cadence: csi2rx: Add enum_mbus_code pad ops</title>
<updated>2024-01-22T16:23:59Z</updated>
<author>
<name>Changhuang Liang</name>
<email>changhuang.liang@starfivetech.com</email>
</author>
<published>2023-12-11T09:43:29Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c2716904918e99ca4b77354dd46ceec2d9ba2ff6'/>
<id>urn:sha1:c2716904918e99ca4b77354dd46ceec2d9ba2ff6</id>
<content type='text'>
Add enum_mbus_code ioctl so that user space can know what
formats are supported to csi2rx.

Signed-off-by: Changhuang Liang &lt;changhuang.liang@starfivetech.com&gt;
Reviewed-by: Julien Massot &lt;julien.massot@collabora.com&gt;
Tested-by: Julien Massot &lt;julien.massot@collabora.com&gt;
Reviewed-by: Jai Luthra &lt;j-luthra@ti.com&gt;
Tested-by: Jai Luthra &lt;j-luthra@ti.com&gt; # [Test on sk-am62a]
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: cadence: csi2rx: add support for RGB formats</title>
<updated>2024-01-22T16:23:58Z</updated>
<author>
<name>Jai Luthra</name>
<email>j-luthra@ti.com</email>
</author>
<published>2024-01-05T09:00:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=77759eb0b895e6be7ab1fbbfdf064b6fea62b406'/>
<id>urn:sha1:77759eb0b895e6be7ab1fbbfdf064b6fea62b406</id>
<content type='text'>
Add support for RGB565, RGB888 and BGR888 media bus formats.

Signed-off-by: Jai Luthra &lt;j-luthra@ti.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: cadence: csi2rx: add Y8_1X8 format</title>
<updated>2024-01-22T16:23:58Z</updated>
<author>
<name>Julien Massot</name>
<email>julien.massot@collabora.com</email>
</author>
<published>2024-01-05T09:00:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5b2a3687e440af6c237d5c8b9131d28f5a9550c0'/>
<id>urn:sha1:5b2a3687e440af6c237d5c8b9131d28f5a9550c0</id>
<content type='text'>
Add support for MEDIA_BUS_FMT_Y8_1X8 format.

Signed-off-by: Julien Massot &lt;julien.massot@collabora.com&gt;
Acked-by: Jai Luthra &lt;j-luthra@ti.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: cadence: csi2rx: use match fwnode for media link</title>
<updated>2024-01-22T16:23:58Z</updated>
<author>
<name>Julien Massot</name>
<email>julien.massot@collabora.com</email>
</author>
<published>2024-01-05T09:00:21Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=448699c522af9e3266f168c3f51f4c3713c7bee1'/>
<id>urn:sha1:448699c522af9e3266f168c3f51f4c3713c7bee1</id>
<content type='text'>
Since commit 1029939b3782 ("media: v4l: async: Simplify async sub-device fwnode matching"),
async connections are matched using the async sub-device fwnode, not that
of the endpoint. Fix this by using the fwnode of the connection match to
find the pad.

Fixes: 1029939b3782 ("media: v4l: async: Simplify async sub-device fwnode matching")
Signed-off-by: Julien Massot &lt;julien.massot@collabora.com&gt;
Reviewed-by: Jai Luthra &lt;j-luthra@ti.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: v4l2-subdev: Rename .init_cfg() operation to .init_state()</title>
<updated>2023-12-04T09:37:47Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2023-11-27T09:07:44Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5755be5f15d9e651ed433e5dbf7b7b968efb3064'/>
<id>urn:sha1:5755be5f15d9e651ed433e5dbf7b7b968efb3064</id>
<content type='text'>
The subdev .init_cfg() operation is affected by two issues:

- It has long been extended to initialize a whole v4l2_subdev_state
  instead of just a v4l2_subdev_pad_config, but its name has stuck
  around.

- Despite operating on a whole subdev state and not being directly
  exposed to the subdev users (either in-kernel or through the userspace
  API), .init_cfg() is categorized as a subdev pad operation.

This participates in making the subdev API confusing for new developers.
Fix it by renaming the operation to .init_state(), and make it a subdev
internal operation.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Acked-by: Michael Riesch &lt;michael.riesch@wolfvision.net&gt; # for imx415
Acked-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt; # for vimc
Reviewed-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Reviewed-by: Tomi Valkeinen &lt;tomi.valkeinen@ideasonboard.com&gt;
[Sakari Ailus: Resolved a conflict in Renesas vsp1 driver.]
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: v4l: subdev: Switch to stream-aware state functions</title>
<updated>2023-11-23T17:57:47Z</updated>
<author>
<name>Sakari Ailus</name>
<email>sakari.ailus@linux.intel.com</email>
</author>
<published>2023-10-13T07:37:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=bc0e8d91feec72b19199298dca470c5816a52105'/>
<id>urn:sha1:bc0e8d91feec72b19199298dca470c5816a52105</id>
<content type='text'>
Switch all drivers accessing sub-device state to use the stream-aware
functions. We will soon remove the old ones.

This patch has been generated using the following Coccinelle script:

---------8&lt;------------
@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_pad_format(E1, E2, E3)
+ v4l2_subdev_state_get_format(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_pad_crop(E1, E2, E3)
+ v4l2_subdev_state_get_crop(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_pad_compose(E1, E2, E3)
+ v4l2_subdev_state_get_compose(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_try_format(E1, E2, E3)
+ v4l2_subdev_state_get_format(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_try_crop(E1, E2, E3)
+ v4l2_subdev_state_get_crop(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_try_compose(E1, E2, E3)
+ v4l2_subdev_state_get_compose(E2, E3)
---------8&lt;------------

Additionally drivers/media/i2c/s5k5baf.c and
drivers/media/platform/samsung/s3c-camif/camif-capture.c have been
manually changed as Coccinelle didn't. Further local variables have been
removed as they became unused as a result of the other changes.

Also Coccinelle introduced indentation by space in files
drivers/media/i2c/st-mipid02.c and
drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c. This has been also
corrected.

The diff from Coccinelle-generated changes are:

&gt; diff --git b/drivers/media/i2c/imx319.c a/drivers/media/i2c/imx319.c
&gt; index e549692ff478..420984382173 100644
&gt; --- b/drivers/media/i2c/imx319.c
&gt; +++ a/drivers/media/i2c/imx319.c
&gt; @@ -2001,7 +2001,6 @@ static int imx319_do_get_pad_format(struct imx319 *imx319,
&gt;  				    struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;imx319-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/imx355.c a/drivers/media/i2c/imx355.c
&gt; index 96bdde685d65..e1b1d2fc79dd 100644
&gt; --- b/drivers/media/i2c/imx355.c
&gt; +++ a/drivers/media/i2c/imx355.c
&gt; @@ -1299,7 +1299,6 @@ static int imx355_do_get_pad_format(struct imx355 *imx355,
&gt;  				    struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;imx355-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/ov08x40.c a/drivers/media/i2c/ov08x40.c
&gt; index ca799bbcfdb7..abbb0b774d43 100644
&gt; --- b/drivers/media/i2c/ov08x40.c
&gt; +++ a/drivers/media/i2c/ov08x40.c
&gt; @@ -2774,7 +2774,6 @@ static int ov08x40_do_get_pad_format(struct ov08x40 *ov08x,
&gt;  				     struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;ov08x-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/ov13858.c a/drivers/media/i2c/ov13858.c
&gt; index 7816d9787c61..09387e335d80 100644
&gt; --- b/drivers/media/i2c/ov13858.c
&gt; +++ a/drivers/media/i2c/ov13858.c
&gt; @@ -1316,7 +1316,6 @@ static int ov13858_do_get_pad_format(struct ov13858 *ov13858,
&gt;  				     struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;ov13858-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/ov13b10.c a/drivers/media/i2c/ov13b10.c
&gt; index 268cd4b03f9c..c06411d5ee2b 100644
&gt; --- b/drivers/media/i2c/ov13b10.c
&gt; +++ a/drivers/media/i2c/ov13b10.c
&gt; @@ -1001,7 +1001,6 @@ static int ov13b10_do_get_pad_format(struct ov13b10 *ov13b,
&gt;  				     struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;ov13b-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/s5c73m3/s5c73m3-core.c a/drivers/media/i2c/s5c73m3/s5c73m3-core.c
&gt; index 47605e36bc60..8f9b5713daf7 100644
&gt; --- b/drivers/media/i2c/s5c73m3/s5c73m3-core.c
&gt; +++ a/drivers/media/i2c/s5c73m3/s5c73m3-core.c
&gt; @@ -819,7 +819,6 @@ static void s5c73m3_oif_try_format(struct s5c73m3 *state,
&gt;  				   struct v4l2_subdev_format *fmt,
&gt;  				   const struct s5c73m3_frame_size **fs)
&gt;  {
&gt; -	struct v4l2_subdev *sd = &amp;state-&gt;sensor_sd;
&gt;  	u32 code;
&gt;
&gt;  	switch (fmt-&gt;pad) {
&gt; diff --git a/drivers/media/i2c/s5k5baf.c b/drivers/media/i2c/s5k5baf.c
&gt; index 67da2045f543..03ccfb0e1e11 100644
&gt; --- a/drivers/media/i2c/s5k5baf.c
&gt; +++ b/drivers/media/i2c/s5k5baf.c
&gt; @@ -1472,14 +1472,11 @@ static int s5k5baf_set_selection(struct v4l2_subdev *sd,
&gt;
&gt;  	if (sel-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		rects = (struct v4l2_rect * []) {
&gt; -				&amp;s5k5baf_cis_rect,
&gt; -				v4l2_subdev_get_try_crop(sd, sd_state,
&gt; -							 PAD_CIS),
&gt; -				v4l2_subdev_get_try_compose(sd, sd_state,
&gt; -							    PAD_CIS),
&gt; -				v4l2_subdev_get_try_crop(sd, sd_state,
&gt; -							 PAD_OUT)
&gt; -			};
&gt; +			&amp;s5k5baf_cis_rect,
&gt; +			v4l2_subdev_state_get_crop(sd_state, PAD_CIS),
&gt; +			v4l2_subdev_state_get_compose(sd_state, PAD_CIS),
&gt; +			v4l2_subdev_state_get_crop(sd_state, PAD_OUT)
&gt; +		};
&gt;  		s5k5baf_set_rect_and_adjust(rects, rtype, &amp;sel-&gt;r);
&gt;  		return 0;
&gt;  	}
&gt; diff --git b/drivers/media/platform/samsung/s3c-camif/camif-capture.c a/drivers/media/platform/samsung/s3c-camif/camif-capture.c
&gt; index 295e083f38e8..be58260ea67e 100644
&gt; --- b/drivers/media/platform/samsung/s3c-camif/camif-capture.c
&gt; +++ a/drivers/media/platform/samsung/s3c-camif/camif-capture.c
&gt; @@ -1216,7 +1216,7 @@ static int s3c_camif_subdev_get_fmt(struct v4l2_subdev *sd,
&gt;  	struct v4l2_mbus_framefmt *mf = &amp;fmt-&gt;format;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt; -		mf = v4l2_subdev_get_try_format(sd, sd_state, fmt-&gt;pad);
&gt; +		mf = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt;  		fmt-&gt;format = *mf;
&gt;  		return 0;
&gt;  	}
&gt; @@ -1305,7 +1305,7 @@ static int s3c_camif_subdev_set_fmt(struct v4l2_subdev *sd,
&gt;  	__camif_subdev_try_format(camif, mf, fmt-&gt;pad);
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt; -		mf = v4l2_subdev_get_try_format(sd, sd_state, fmt-&gt;pad);
&gt; +		mf = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt;  		*mf = fmt-&gt;format;
&gt;  		mutex_unlock(&amp;camif-&gt;lock);
&gt;  		return 0;
&gt; diff --git b/drivers/media/platform/ti/cal/cal-camerarx.c a/drivers/media/platform/ti/cal/cal-camerarx.c
&gt; index cea454ed9c20..61433744c6c4 100644
&gt; --- b/drivers/media/platform/ti/cal/cal-camerarx.c
&gt; +++ a/drivers/media/platform/ti/cal/cal-camerarx.c
&gt; @@ -621,8 +621,6 @@ static int cal_camerarx_sd_enum_mbus_code(struct v4l2_subdev *sd,
&gt;  					  struct v4l2_subdev_state *state,
&gt;  					  struct v4l2_subdev_mbus_code_enum *code)
&gt;  {
&gt; -	struct cal_camerarx *phy = to_cal_camerarx(sd);
&gt; -
&gt;  	/* No transcoding, source and sink codes must match. */
&gt;  	if (cal_rx_pad_is_source(code-&gt;pad)) {
&gt;  		struct v4l2_mbus_framefmt *fmt;
&gt; diff --git b/drivers/staging/media/imx/imx-ic-prp.c a/drivers/staging/media/imx/imx-ic-prp.c
&gt; index dd558fac6477..61d69f19657e 100644
&gt; --- b/drivers/staging/media/imx/imx-ic-prp.c
&gt; +++ a/drivers/staging/media/imx/imx-ic-prp.c
&gt; @@ -82,8 +82,6 @@ static struct v4l2_mbus_framefmt *
&gt;  __prp_get_fmt(struct prp_priv *priv, struct v4l2_subdev_state *sd_state,
&gt;  	      unsigned int pad, enum v4l2_subdev_format_whence which)
&gt;  {
&gt; -	struct imx_ic_priv *ic_priv = priv-&gt;ic_priv;
&gt; -
&gt;  	if (which == V4L2_SUBDEV_FORMAT_TRY)
&gt;  		return v4l2_subdev_state_get_format(sd_state, pad);
&gt;  	else
&gt; diff --git b/drivers/staging/media/imx/imx-ic-prpencvf.c a/drivers/staging/media/imx/imx-ic-prpencvf.c
&gt; index 02db7dbb884b..ec73c901079e 100644
&gt; --- b/drivers/staging/media/imx/imx-ic-prpencvf.c
&gt; +++ a/drivers/staging/media/imx/imx-ic-prpencvf.c
&gt; @@ -790,8 +790,6 @@ static struct v4l2_mbus_framefmt *
&gt;  __prp_get_fmt(struct prp_priv *priv, struct v4l2_subdev_state *sd_state,
&gt;  	      unsigned int pad, enum v4l2_subdev_format_whence which)
&gt;  {
&gt; -	struct imx_ic_priv *ic_priv = priv-&gt;ic_priv;
&gt; -
&gt;  	if (which == V4L2_SUBDEV_FORMAT_TRY)
&gt;  		return v4l2_subdev_state_get_format(sd_state, pad);
&gt;  	else
&gt; diff --git a/drivers/media/i2c/st-mipid02.c b/drivers/media/i2c/st-mipid02.c
&gt; index 9c9361354c00..b08a249b5fdd 100644
&gt; --- a/drivers/media/i2c/st-mipid02.c
&gt; +++ b/drivers/media/i2c/st-mipid02.c
&gt; @@ -751,7 +751,7 @@ static void mipid02_set_fmt_source(struct v4l2_subdev *sd,
&gt;  		format-&gt;format = bridge-&gt;fmt;
&gt;  	else
&gt;  		format-&gt;format = *v4l2_subdev_state_get_format(sd_state,
&gt; -						               MIPID02_SINK_0);
&gt; +							       MIPID02_SINK_0);
&gt;
&gt;  	/* but code may need to be converted */
&gt;  	format-&gt;format.code = serial_to_parallel_code(format-&gt;format.code);
&gt; diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
&gt; index 117912d3bfbd..96353648c032 100644
&gt; --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
&gt; +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
&gt; @@ -319,7 +319,7 @@ static void rkisp1_isp_start(struct rkisp1_isp *isp,
&gt;  	rkisp1_write(rkisp1, RKISP1_CIF_ISP_CTRL, val);
&gt;
&gt;  	src_fmt = v4l2_subdev_state_get_format(sd_state,
&gt; -				               RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt; +					       RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt;  	src_info = rkisp1_mbus_info_get_by_code(src_fmt-&gt;code);
&gt;
&gt;  	if (src_info-&gt;pixel_enc != V4L2_PIXEL_ENC_BAYER)
&gt; @@ -475,9 +475,9 @@ static void rkisp1_isp_set_src_fmt(struct rkisp1_isp *isp,
&gt;  	sink_fmt = v4l2_subdev_state_get_format(sd_state,
&gt;  						RKISP1_ISP_PAD_SINK_VIDEO);
&gt;  	src_fmt = v4l2_subdev_state_get_format(sd_state,
&gt; -				               RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt; +					       RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt;  	src_crop = v4l2_subdev_state_get_crop(sd_state,
&gt; -				              RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt; +					      RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt;
&gt;  	/*
&gt;  	 * Media bus code. The ISP can operate in pass-through mode (Bayer in,

Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: platform: cadence: select MIPI_DPHY dependency</title>
<updated>2023-10-18T09:49:51Z</updated>
<author>
<name>Jai Luthra</name>
<email>j-luthra@ti.com</email>
</author>
<published>2023-10-17T07:37:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=48016737a9af47328dd321df4dd3479ed5e2041d'/>
<id>urn:sha1:48016737a9af47328dd321df4dd3479ed5e2041d</id>
<content type='text'>
The driver uses MIPI DPHY helper routines from the PHY core. Make sure
we select the relevant config for compilation.

Fixes: a91d06f46bf7 ("media: cadence: csi2rx: Configure DPHY using link freq")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Closes: https://lore.kernel.org/oe-kbuild-all/202310170258.UzSN4RUB-lkp@intel.com/
Signed-off-by: Jai Luthra &lt;j-luthra@ti.com&gt;
[Sakari Ailus: Also select GENERIC_PHY.]
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: cadence: csi2rx: Add link validation</title>
<updated>2023-10-12T07:22:28Z</updated>
<author>
<name>Pratyush Yadav</name>
<email>p.yadav@ti.com</email>
</author>
<published>2023-10-09T13:09:37Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b0f46ad6ed4af5eca481fad18825baafa0453a49'/>
<id>urn:sha1:b0f46ad6ed4af5eca481fad18825baafa0453a49</id>
<content type='text'>
Add media link validation to make sure incorrectly configured pipelines
are caught.

Signed-off-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Tested-by: Julien Massot &lt;julien.massot@collabora.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Tomi Valkeinen &lt;tomi.valkeinen@ideasonboard.com&gt;
Reviewed-by: Maxime Ripard &lt;mripard@kernel.org&gt;
Signed-off-by: Jai Luthra &lt;j-luthra@ti.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: cadence: csi2rx: Populate subdev devnode</title>
<updated>2023-10-12T07:22:28Z</updated>
<author>
<name>Pratyush Yadav</name>
<email>p.yadav@ti.com</email>
</author>
<published>2023-10-09T13:09:36Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c6ed7a39f177ef56f12a3427817566d2bbabcf03'/>
<id>urn:sha1:c6ed7a39f177ef56f12a3427817566d2bbabcf03</id>
<content type='text'>
The devnode can be used by media-ctl and other userspace tools to
perform configurations on the subdev. Without it, media-ctl returns
ENOENT when setting format on the sensor subdev.

Signed-off-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Tested-by: Julien Massot &lt;julien.massot@collabora.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Tomi Valkeinen &lt;tomi.valkeinen@ideasonboard.com&gt;
Reviewed-by: Maxime Ripard &lt;mripard@kernel.org&gt;
Signed-off-by: Jai Luthra &lt;j-luthra@ti.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
</entry>
</feed>
