media: i2c: Correct format propagation for st-mipid02
Format propagation in the st-mipid02 driver is incorrect in that when
setting format for V4L2_SUBDEV_FORMAT_TRY on the source pad, the
_active_ rather than _try_ format from the sink pad is propagated.
This causes problems with format negotiation - update the function to
propagate the correct format.
Fixes: 642bb5e88f
("media: st-mipid02: MIPID02 CSI-2 to PARALLEL bridge driver")
Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
ad5929547b
commit
306c3190b3
|
@ -736,8 +736,13 @@ static void mipid02_set_fmt_source(struct v4l2_subdev *sd,
|
||||||
{
|
{
|
||||||
struct mipid02_dev *bridge = to_mipid02_dev(sd);
|
struct mipid02_dev *bridge = to_mipid02_dev(sd);
|
||||||
|
|
||||||
/* source pad mirror active sink pad */
|
/* source pad mirror sink pad */
|
||||||
format->format = bridge->fmt;
|
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||||
|
format->format = bridge->fmt;
|
||||||
|
else
|
||||||
|
format->format = *v4l2_subdev_get_try_format(sd, sd_state,
|
||||||
|
MIPID02_SINK_0);
|
||||||
|
|
||||||
/* but code may need to be converted */
|
/* but code may need to be converted */
|
||||||
format->format.code = serial_to_parallel_code(format->format.code);
|
format->format.code = serial_to_parallel_code(format->format.code);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue