From: Vaibhav Hiremath <hvaib...@ti.com>

For the sequence streamon -> streamoff and again s_input, it fails
to lock the signal, since streamoff puts TVP514x into power off state
which leads to failure in sub-sequent s_input.

So add powerup sequence in s_routing (if disabled), since it is
important to lock the signal at this stage.

Signed-off-by: Vaibhav Hiremath <hvaib...@ti.com>
Signed-off-by: Sudhakar Rajashekhara <sudhakar....@ti.com>
---
 drivers/media/video/tvp514x.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/tvp514x.c b/drivers/media/video/tvp514x.c
index 26b4e71..97b7db5 100644
--- a/drivers/media/video/tvp514x.c
+++ b/drivers/media/video/tvp514x.c
@@ -78,6 +78,8 @@ struct tvp514x_std_info {
 };

 static struct tvp514x_reg tvp514x_reg_list_default[0x40];
+
+static int tvp514x_s_stream(struct v4l2_subdev *sd, int enable);
 /**
  * struct tvp514x_decoder - TVP5146/47 decoder object
  * @sd: Subdevice Slave handle
@@ -643,6 +645,17 @@ static int tvp514x_s_routing(struct v4l2_subdev *sd,
                /* Index out of bound */
                return -EINVAL;

+       /*
+        * For the sequence streamon -> streamoff and again s_input
+        * it fails to lock the signal, since streamoff puts TVP514x
+        * into power off state which leads to failure in sub-sequent s_input.
+        *
+        * So power up the TVP514x device here, since it is important to lock
+        * the signal at this stage.
+        */
+       if (!decoder->streaming)
+               tvp514x_s_stream(sd, 1);
+
        input_sel = input;
        output_sel = output;

--
1.6.2.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to