[media] tc358743: put lanes in STOP state before starting streaming
authorPhilipp Zabel <p.zabel@pengutronix.de>
Mon, 13 Feb 2017 09:24:36 +0000 (07:24 -0200)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Wed, 22 Mar 2017 13:06:22 +0000 (10:06 -0300)
Without calling tc358743_set_csi after stopping streaming (or calling
tc358743_s_dv_timings or tc358743_set_fmt from userspace after stopping
the stream), the i.MX6 MIPI CSI2 input fails waiting for lanes to enter
STOP state when streaming is started again.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/i2c/tc358743.c

index 140c804a6dc34dc858a0d70bcca13c942da9fe82..bf9d925164a345a1981632940fddf385c6f4f103 100644 (file)
@@ -1463,6 +1463,10 @@ static int tc358743_g_mbus_config(struct v4l2_subdev *sd,
 static int tc358743_s_stream(struct v4l2_subdev *sd, int enable)
 {
        enable_stream(sd, enable);
+       if (!enable) {
+               /* Put all lanes in PL-11 state (STOPSTATE) */
+               tc358743_set_csi(sd);
+       }
 
        return 0;
 }