Hi Rui, On Tue, Jan 5, 2021 at 12:01 PM Rui Miguel Silva <rmfrfs@xxxxxxxxx> wrote: > can you see if the following patch make it work again? Yes, with your patch and mine I can capture the same way as with the 5.4 kernel :-) The pink color issue is still present but it is orthogonal to this problem. Could you please submit your patch formally to the list? Please include my attached patch as 1/2 and yours as 2/2. Also, please add the following tag to your patch: Tested-by: Fabio Estevam <festevam@xxxxxxxxx> Thanks, Fabio Estevam
From 4f0e0f7937666def3a3fa1ff8630d09b213841d0 Mon Sep 17 00:00:00 2001 From: Fabio Estevam <festevam@xxxxxxxxx> Date: Tue, 5 Jan 2021 11:06:54 -0300 Subject: [PATCH 1/2] media: imx7: csi: Fix regression for parallel cameras on i.MX6UL Commit 86e02d07871c ("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: 86e02d07871c ("media: imx5/6/7: csi: Mark a bound video mux as a CSI mux") Signed-off-by: Fabio Estevam <festevam@xxxxxxxxx> --- drivers/staging/media/imx/imx7-media-csi.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c index a3f3df901704..31e36168f9d0 100644 --- a/drivers/staging/media/imx/imx7-media-csi.c +++ b/drivers/staging/media/imx/imx7-media-csi.c @@ -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); } -- 2.17.1