Commit 9bac6721 authored by Fabio Estevam's avatar Fabio Estevam Committed by Mauro Carvalho Chehab

media: imx7: csi: Fix regression for parallel cameras on i.MX6UL

Commit 86e02d07 ("media: imx5/6/7: csi: Mark a bound video mux as
a CSI mux") made an incorrect assumption that for imx7-media-csi,
the bound subdev must always be a CSI mux. On i.MX6UL/i.MX6ULL there
is no CSI mux at all, so do not return an error when the entity is not a
video mux and assign the IMX_MEDIA_GRP_ID_CSI_MUX group id only when
appropriate.

This is the same approach as done in imx-media-csi.c and it fixes the
csi probe regression on i.MX6UL.

Tested on a imx6ull-evk board.

Fixes: 86e02d07 ("media: imx5/6/7: csi: Mark a bound video mux as a CSI mux")
Signed-off-by: default avatarFabio Estevam <festevam@gmail.com>
Signed-off-by: default avatarRui Miguel Silva <rmfrfs@gmail.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent e98ce77b
......@@ -1164,12 +1164,12 @@ static int imx7_csi_notify_bound(struct v4l2_async_notifier *notifier,
struct imx7_csi *csi = imx7_csi_notifier_to_dev(notifier);
struct media_pad *sink = &csi->sd.entity.pads[IMX7_CSI_PAD_SINK];
/* The bound subdev must always be the CSI mux */
if (WARN_ON(sd->entity.function != MEDIA_ENT_F_VID_MUX))
return -ENXIO;
/* Mark it as such via its group id */
sd->grp_id = IMX_MEDIA_GRP_ID_CSI_MUX;
/*
* If the subdev is a video mux, it must be one of the CSI
* muxes. Mark it as such via its group id.
*/
if (sd->entity.function == MEDIA_ENT_F_VID_MUX)
sd->grp_id = IMX_MEDIA_GRP_ID_CSI_MUX;
return v4l2_create_fwnode_links_to_pad(sd, sink);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment