Commit f4b8b3ae authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

V4L/DVB (6542): Fix S-video mode on tvp5150

Thanks to Markus Reichberger to point this.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 2b2c93ac
...@@ -290,6 +290,7 @@ static inline void tvp5150_selmux(struct i2c_client *c) ...@@ -290,6 +290,7 @@ static inline void tvp5150_selmux(struct i2c_client *c)
int opmode=0; int opmode=0;
struct tvp5150 *decoder = i2c_get_clientdata(c); struct tvp5150 *decoder = i2c_get_clientdata(c);
int input = 0; int input = 0;
unsigned char val;
if ((decoder->route.output & TVP5150_BLACK_SCREEN) || !decoder->enable) if ((decoder->route.output & TVP5150_BLACK_SCREEN) || !decoder->enable)
input = 8; input = 8;
...@@ -315,6 +316,16 @@ static inline void tvp5150_selmux(struct i2c_client *c) ...@@ -315,6 +316,16 @@ static inline void tvp5150_selmux(struct i2c_client *c)
tvp5150_write(c, TVP5150_OP_MODE_CTL, opmode); tvp5150_write(c, TVP5150_OP_MODE_CTL, opmode);
tvp5150_write(c, TVP5150_VD_IN_SRC_SEL_1, input); tvp5150_write(c, TVP5150_VD_IN_SRC_SEL_1, input);
/* Svideo should enable YCrCb output and disable GPCL output
* For Composite and TV, it should be the reverse
*/
val = tvp5150_read(c, TVP5150_MISC_CTL);
if (decoder->route.input == TVP5150_SVIDEO)
val = (val & ~0x40) | 0x10;
else
val = (val & ~0x10) | 0x40;
tvp5150_write(c, TVP5150_MISC_CTL, val);
}; };
struct i2c_reg_value { struct i2c_reg_value {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment