]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: imx7-media-csi: get csi upstream endpoint
authorRui Miguel Silva <rui.silva@linaro.org>
Wed, 12 Jun 2019 10:00:28 +0000 (06:00 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Fri, 21 Jun 2019 20:31:15 +0000 (16:31 -0400)
When the upstream endpoint is neither a mux nor a CSI2 module, just get
the source pad directly upstream from the CSI.

Reported-by: Sebastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/staging/media/imx/imx7-media-csi.c

index 9101566f3f67068c0fac38e7dae8c51e247c6047..f775870df7e0e2e0e3cf19d199daeeb8b95eea75 100644 (file)
@@ -442,6 +442,14 @@ static int imx7_csi_get_upstream_endpoint(struct imx7_csi *csi,
 
        src = &csi->src_sd->entity;
 
+       /*
+        * if the source is neither a mux or csi2 get the one directly upstream
+        * from this csi
+        */
+       if (src->function != MEDIA_ENT_F_VID_IF_BRIDGE &&
+           src->function != MEDIA_ENT_F_VID_MUX)
+               src = &csi->sd.entity;
+
 skip_video_mux:
        /* get source pad of entity directly upstream from src */
        pad = imx_media_pipeline_pad(src, 0, 0, true);