diff options
author | Vaibhav Hiremath <hvaibhav@ti.com> | 2010-03-27 08:37:54 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-05-17 23:52:47 -0400 |
commit | 63b59cecb2fa0a274d1c7240112460816d826988 (patch) | |
tree | 8da2f8f4f99674ffc9d0eb2fb08e22a438588dda | |
parent | 844cc0dcb588ee7005c70cffd92ee7a0c1270729 (diff) |
V4L/DVB: V4L: tvp514x: Add Powerup sequence during s_input to lock the signal properly
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 <hvaibhav@ti.com>
Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Muralidharan Karicheri <mkaricheri@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | 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 e4815a1806e3..e826114b7fb8 100644 --- a/drivers/media/video/tvp514x.c +++ b/drivers/media/video/tvp514x.c | |||
@@ -79,6 +79,8 @@ struct tvp514x_std_info { | |||
79 | }; | 79 | }; |
80 | 80 | ||
81 | static struct tvp514x_reg tvp514x_reg_list_default[0x40]; | 81 | static struct tvp514x_reg tvp514x_reg_list_default[0x40]; |
82 | |||
83 | static int tvp514x_s_stream(struct v4l2_subdev *sd, int enable); | ||
82 | /** | 84 | /** |
83 | * struct tvp514x_decoder - TVP5146/47 decoder object | 85 | * struct tvp514x_decoder - TVP5146/47 decoder object |
84 | * @sd: Subdevice Slave handle | 86 | * @sd: Subdevice Slave handle |
@@ -644,6 +646,17 @@ static int tvp514x_s_routing(struct v4l2_subdev *sd, | |||
644 | /* Index out of bound */ | 646 | /* Index out of bound */ |
645 | return -EINVAL; | 647 | return -EINVAL; |
646 | 648 | ||
649 | /* | ||
650 | * For the sequence streamon -> streamoff and again s_input | ||
651 | * it fails to lock the signal, since streamoff puts TVP514x | ||
652 | * into power off state which leads to failure in sub-sequent s_input. | ||
653 | * | ||
654 | * So power up the TVP514x device here, since it is important to lock | ||
655 | * the signal at this stage. | ||
656 | */ | ||
657 | if (!decoder->streaming) | ||
658 | tvp514x_s_stream(sd, 1); | ||
659 | |||
647 | input_sel = input; | 660 | input_sel = input; |
648 | output_sel = output; | 661 | output_sel = output; |
649 | 662 | ||