RE: [PATCH-V2 7/7] TVP514x: Add Powerup sequence during s_input to lock the signal properly

2010-03-19 Thread Karicheri, Muralidharan
Vaibhav,

This patch has not fully resolved the lock issue. In my testing the change
done by Brijesh was required as well. Can you update me on what was your
findings based on my last email on this issue?

Murali Karicheri
Software Design Engineer
Texas Instruments Inc.
Germantown, MD 20874
phone: 301-407-9583
email: m-kariche...@ti.com

-Original Message-
From: Hiremath, Vaibhav
Sent: Friday, March 19, 2010 2:04 AM
To: linux-media@vger.kernel.org
Cc: Karicheri, Muralidharan; Hiremath, Vaibhav; Rajashekhara, Sudhakar
Subject: [PATCH-V2 7/7] TVP514x: Add Powerup sequence during s_input to
lock the signal properly

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


RE: [PATCH-V2 7/7] TVP514x: Add Powerup sequence during s_input to lock the signal properly

2010-03-19 Thread Hiremath, Vaibhav
 -Original Message-
 From: Karicheri, Muralidharan
 Sent: Friday, March 19, 2010 11:40 PM
 To: Hiremath, Vaibhav; linux-media@vger.kernel.org
 Cc: Rajashekhara, Sudhakar
 Subject: RE: [PATCH-V2 7/7] TVP514x: Add Powerup sequence during s_input to
 lock the signal properly
 
 Vaibhav,
 
 This patch has not fully resolved the lock issue. In my testing the change
 done by Brijesh was required as well. Can you update me on what was your
 findings based on my last email on this issue?
 
[Hiremath, Vaibhav] Murali,

I think I had already explained it to you, let me explain it again for broader 
audience.

We are talking about two different issues here - 

- The default state of TVP514x after reset is active state, but when you 
execute streamoff then driver will put TVP514x into powered down state, which 
will cause locking issues when you try to S_INPUT next time. Since power on 
sequence will only be get executed during streamon.

This is valid bug in the driver, which this patch addresses.

- The second issue is related to auto switch feature and detected/set standard. 
The fix which you are talking about is putting TVP514x in auto switch mode in 
QUERYSTD. This is only required when application sets the standard explicitly 
and the spec says that the standard should not change unless set explicitly by 
the user. And since user is very well aware of what he is doing. 

I had a good discussion with Hans on this; please refer to the link below

http://www.mail-archive.com/linux-media@vger.kernel.org/msg11518.html

I was about to re-initiate this thread, since we did not have any conclusion 
last time.

I hope this clears all your doubts.

Thanks,
Vaibhav

 Murali Karicheri
 Software Design Engineer
 Texas Instruments Inc.
 Germantown, MD 20874
 phone: 301-407-9583
 email: m-kariche...@ti.com
 
 -Original Message-
 From: Hiremath, Vaibhav
 Sent: Friday, March 19, 2010 2:04 AM
 To: linux-media@vger.kernel.org
 Cc: Karicheri, Muralidharan; Hiremath, Vaibhav; Rajashekhara, Sudhakar
 Subject: [PATCH-V2 7/7] TVP514x: Add Powerup sequence during s_input to
 lock the signal properly
 
 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