summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/drivers/media/video/saa7185.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/linux/drivers/media/video/saa7185.c b/linux/drivers/media/video/saa7185.c
index 195e2f415..68bec4d5d 100644
--- a/linux/drivers/media/video/saa7185.c
+++ b/linux/drivers/media/video/saa7185.c
@@ -282,6 +282,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);
@@ -289,6 +291,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);
@@ -296,6 +300,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;
}