From d7b6efc70eb9cbada978902714c3ff7fc4558915 Mon Sep 17 00:00:00 2001 From: Vaibhav Hiremath Date: Sat, 27 Mar 2010 09:37:54 -0300 Subject: [PATCH] --- yaml --- r: 192883 b: refs/heads/master c: 63b59cecb2fa0a274d1c7240112460816d826988 h: refs/heads/master i: 192881: d5e60fc32f81ed264372ad495a82235d6d50aa36 192879: 2b55d39e5c3be74429969d2ce819a84be3bc2e2f v: v3 --- [refs] | 2 +- trunk/drivers/media/video/tvp514x.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index e0065fb7c2e9..698887d448e3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 844cc0dcb588ee7005c70cffd92ee7a0c1270729 +refs/heads/master: 63b59cecb2fa0a274d1c7240112460816d826988 diff --git a/trunk/drivers/media/video/tvp514x.c b/trunk/drivers/media/video/tvp514x.c index e4815a1806e3..e826114b7fb8 100644 --- a/trunk/drivers/media/video/tvp514x.c +++ b/trunk/drivers/media/video/tvp514x.c @@ -79,6 +79,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 @@ -644,6 +646,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;