diff options
author | Torsten Seeboth <Torsten.Seeboth@t-online.de> | 2005-11-09 00:38:51 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-09 10:56:31 -0500 |
commit | 7f7e846ca552c4cf2e04b4666cea18dc26b36b59 (patch) | |
tree | 087ac1c7018a3ff23b5c6e9568f005032c6d5fee /drivers/media/video/cx88/cx88-tvaudio.c | |
parent | 7bde80769ddf76a2c2e3672f2a932cfc029a1d35 (diff) |
[PATCH] V4L: 919: improves the audio handling for nicam on cx88-audio
Improves the audio handling for NICAM on cx88 audio.
Signed-off-by: Torsten Seeboth <Torsten.Seeboth@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/video/cx88/cx88-tvaudio.c')
-rw-r--r-- | drivers/media/video/cx88/cx88-tvaudio.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/media/video/cx88/cx88-tvaudio.c b/drivers/media/video/cx88/cx88-tvaudio.c index 7815f332062d..6d9bec1c583b 100644 --- a/drivers/media/video/cx88/cx88-tvaudio.c +++ b/drivers/media/video/cx88/cx88-tvaudio.c | |||
@@ -123,7 +123,9 @@ static void set_audio_start(struct cx88_core *core, u32 mode) | |||
123 | cx_write(AUD_VOL_CTL, (1 << 6)); | 123 | cx_write(AUD_VOL_CTL, (1 << 6)); |
124 | 124 | ||
125 | // start programming | 125 | // start programming |
126 | cx_write(AUD_CTL, 0x0000); | 126 | cx_write(MO_AUD_DMACNTRL, 0x0000); |
127 | msleep(100); | ||
128 | //cx_write(AUD_CTL, 0x0000); | ||
127 | cx_write(AUD_INIT, mode); | 129 | cx_write(AUD_INIT, mode); |
128 | cx_write(AUD_INIT_LD, 0x0001); | 130 | cx_write(AUD_INIT_LD, 0x0001); |
129 | cx_write(AUD_SOFT_RESET, 0x0001); | 131 | cx_write(AUD_SOFT_RESET, 0x0001); |
@@ -151,6 +153,7 @@ static void set_audio_finish(struct cx88_core *core, u32 ctl) | |||
151 | 153 | ||
152 | /* finish programming */ | 154 | /* finish programming */ |
153 | cx_write(AUD_SOFT_RESET, 0x0000); | 155 | cx_write(AUD_SOFT_RESET, 0x0000); |
156 | cx_write(MO_AUD_DMACNTRL, 0x0003); | ||
154 | 157 | ||
155 | /* unmute */ | 158 | /* unmute */ |
156 | volume = cx_sread(SHADOW_AUD_VOL_CTL); | 159 | volume = cx_sread(SHADOW_AUD_VOL_CTL); |
@@ -341,6 +344,7 @@ static void set_audio_standard_NICAM(struct cx88_core *core, u32 mode) | |||
341 | { /* end of list */ }, | 344 | { /* end of list */ }, |
342 | }; | 345 | }; |
343 | 346 | ||
347 | set_audio_start(core,SEL_NICAM); | ||
344 | switch (core->tvaudio) { | 348 | switch (core->tvaudio) { |
345 | case WW_L: | 349 | case WW_L: |
346 | dprintk("%s SECAM-L NICAM (status: devel)\n", __FUNCTION__); | 350 | dprintk("%s SECAM-L NICAM (status: devel)\n", __FUNCTION__); |
@@ -740,7 +744,7 @@ void cx88_set_tvaudio(struct cx88_core *core) | |||
740 | 744 | ||
741 | /* set nicam mode - otherwise | 745 | /* set nicam mode - otherwise |
742 | AUD_NICAM_STATUS2 contains wrong values */ | 746 | AUD_NICAM_STATUS2 contains wrong values */ |
743 | set_audio_standard_NICAM(core, EN_NICAM_FORCE_MONO1); | 747 | set_audio_standard_NICAM(core, EN_NICAM_AUTO_STEREO); |
744 | if (0 == cx88_detect_nicam(core)) { | 748 | if (0 == cx88_detect_nicam(core)) { |
745 | /* fall back to fm / am mono */ | 749 | /* fall back to fm / am mono */ |
746 | set_audio_standard_A2(core, EN_A2_FORCE_MONO1); | 750 | set_audio_standard_A2(core, EN_A2_FORCE_MONO1); |