aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTorsten Seeboth <Torsten.Seeboth@t-online.de>2005-11-09 00:38:51 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-09 10:56:31 -0500
commit7f7e846ca552c4cf2e04b4666cea18dc26b36b59 (patch)
tree087ac1c7018a3ff23b5c6e9568f005032c6d5fee
parent7bde80769ddf76a2c2e3672f2a932cfc029a1d35 (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>
-rw-r--r--drivers/media/video/cx88/cx88-tvaudio.c8
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);