diff options
author | 2014-06-08 13:54:55 -0300 | |
---|---|---|
committer | 2014-06-19 13:31:17 -0300 | |
commit | c9f5ccc24d1c08705ab5ea2bf0d6166c8e8dc545 (patch) | |
tree | ba02342e9c1a560284dbb3e00c7d4ee248606822 /drivers/media/dvb-frontends/au8522_decoder.c | |
parent | [media] au8522: cleanup s-video settings at setup_decoder_defaults() (diff) | |
download | linux-c9f5ccc24d1c08705ab5ea2bf0d6166c8e8dc545.tar.gz linux-c9f5ccc24d1c08705ab5ea2bf0d6166c8e8dc545.tar.bz2 linux-c9f5ccc24d1c08705ab5ea2bf0d6166c8e8dc545.zip |
[media] au8522: Fix demod analog mode setting
There are several issues on the current code:
1) msleep(1) is actually equivalent to msleep(10);
2) au8522_video_set() will set reg 0xa4 to the
proper value for SIF, CVBS or S-Video. No need
to force it to CVBS;
3) Let's not hardcode 0x9d for CBS on audio_set.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/dvb-frontends/au8522_decoder.c')
-rw-r--r-- | drivers/media/dvb-frontends/au8522_decoder.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/media/dvb-frontends/au8522_decoder.c b/drivers/media/dvb-frontends/au8522_decoder.c index 569922232eb8..b971c20624bf 100644 --- a/drivers/media/dvb-frontends/au8522_decoder.c +++ b/drivers/media/dvb-frontends/au8522_decoder.c @@ -458,8 +458,9 @@ static void set_audio_input(struct au8522_state *state) au8522_writereg(state, AU8522_I2C_CONTROL_REG0_REG090H, 0x84); msleep(150); au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, 0x00); - msleep(1); - au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, 0x9d); + msleep(10); + au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, + AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_CVBS); msleep(50); au8522_writereg(state, AU8522_AUDIO_VOLUME_L_REG0F2H, 0x7F); au8522_writereg(state, AU8522_AUDIO_VOLUME_R_REG0F3H, 0x7F); @@ -585,12 +586,9 @@ static int au8522_s_stream(struct v4l2_subdev *sd, int enable) au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, 0x01); - msleep(1); - au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, - AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_CVBS); + msleep(10); au8522_video_set(state); - set_audio_input(state); state->operational_mode = AU8522_ANALOG_MODE; |