aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/saa7185.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/media/video/saa7185.c b/drivers/media/video/saa7185.c
index 6debb65152e..8d06bb312c5 100644
--- a/drivers/media/video/saa7185.c
+++ b/drivers/media/video/saa7185.c
@@ -281,6 +281,8 @@ static int saa7185_command(struct i2c_client *client, unsigned cmd, void *arg)
switch (*iarg) {
case 0:
+ /* turn off colorbar */
+ saa7185_write(client, 0x3a, 0x0f);
/* Switch RTCE to 1 */
saa7185_write(client, 0x61,
(encoder->reg[0x61] & 0xf7) | 0x08);
@@ -288,6 +290,8 @@ static int saa7185_command(struct i2c_client *client, unsigned cmd, void *arg)
break;
case 1:
+ /* turn off colorbar */
+ saa7185_write(client, 0x3a, 0x0f);
/* Switch RTCE to 0 */
saa7185_write(client, 0x61,
(encoder->reg[0x61] & 0xf7) | 0x00);
@@ -295,6 +299,16 @@ static int saa7185_command(struct i2c_client *client, unsigned cmd, void *arg)
saa7185_write(client, 0x6e, 0x00);
break;
+ case 2:
+ /* turn on colorbar */
+ saa7185_write(client, 0x3a, 0x8f);
+ /* Switch RTCE to 0 */
+ saa7185_write(client, 0x61,
+ (encoder->reg[0x61] & 0xf7) | 0x08);
+ /* SW: a slight sync problem... */
+ saa7185_write(client, 0x6e, 0x01);
+ break;
+
default:
return -EINVAL;
}