Update of /cvsroot/alsa/alsa-kernel/pci/emu10k1 In directory sc8-pr-cvs1:/tmp/cvs-serv13854/pci/emu10k1
Modified Files: emu10k1_main.c emufx.c emumixer.c emupcm.c Log Message: Peter Zubaj <[EMAIL PROTECTED]>: - disable routing from AC97 line out to front speakers. - AC97 ADC is used only for Mic playback and recording - Philips ADC is used for other analog playback and recording (Analog Mix Playback Volume, Analog Mix Capture Volume) - removes unused AC97 controls (is phone used ???) Takashi Iwai <[EMAIL PROTECTED]>: - removed the duplicated IEC958 control on Dell's board. Index: emu10k1_main.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emu10k1_main.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- emu10k1_main.c 25 Jul 2003 10:39:38 -0000 1.25 +++ emu10k1_main.c 7 Nov 2003 17:52:01 -0000 1.26 @@ -269,6 +269,9 @@ * This has to be done after init ALice3 I2SOut beyond 48KHz. * So, sequence is important. */ outl(inl(emu->port + A_IOCFG) | 0x0040, emu->port + A_IOCFG); + } else { + /* Disable routing from AC97 line out to Front speakers */ + outl(inl(emu->port + A_IOCFG) | 0x0080, emu->port + A_IOCFG); } } Index: emufx.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emufx.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- emufx.c 21 Oct 2003 17:40:14 -0000 1.43 +++ emufx.c 7 Nov 2003 17:52:01 -0000 1.44 @@ -1308,10 +1308,10 @@ snd_emu10k1_init_stereo_control(&controls[nctl++], "Music Playback Volume", gpr, 100); gpr += 2; - /* Wave Capture */ + /* Wave (PCM) Capture */ A_OP(icode, &ptr, iMAC0, A_GPR(capture+0), A_C_00000000, A_GPR(gpr), A_FXBUS(FXBUS_PCM_LEFT)); A_OP(icode, &ptr, iMAC0, A_GPR(capture+1), A_C_00000000, A_GPR(gpr+1), A_FXBUS(FXBUS_PCM_RIGHT)); - snd_emu10k1_init_stereo_control(&controls[nctl++], "Wave Capture Volume", gpr, 0); + snd_emu10k1_init_stereo_control(&controls[nctl++], "PCM Capture Volume", gpr, 0); gpr += 2; /* Music Capture */ @@ -1326,17 +1326,20 @@ #define A_ADD_VOLUME_IN(var,vol,input) \ A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input)) - /* AC'97 Playback Volume */ + /* AC'97 Playback Volume - used only for mic */ A_ADD_VOLUME_IN(stereo_mix, gpr, A_EXTIN_AC97_L); A_ADD_VOLUME_IN(stereo_mix+1, gpr+1, A_EXTIN_AC97_R); - snd_emu10k1_init_stereo_control(&controls[nctl++], "AC97 Playback Volume", gpr, 100); + snd_emu10k1_init_stereo_control(&controls[nctl++], "AMic Playback Volume", gpr, 0); gpr += 2; - /* AC'97 Capture Volume */ + /* AC'97 Capture Volume - used only for mic */ A_ADD_VOLUME_IN(capture, gpr, A_EXTIN_AC97_L); A_ADD_VOLUME_IN(capture+1, gpr+1, A_EXTIN_AC97_R); - snd_emu10k1_init_stereo_control(&controls[nctl++], "AC97 Capture Volume", gpr, 100); + snd_emu10k1_init_stereo_control(&controls[nctl++], "Mic Capture Volume", gpr, 0); gpr += 2; + /* mic capture buffer */ + A_OP(icode, &ptr, iINTERP, A_EXTOUT(A_EXTOUT_MIC_CAP), A_EXTIN(A_EXTIN_AC97_L), 0xcd, A_EXTIN(A_EXTIN_AC97_R)); + /* Audigy CD Playback Volume */ A_ADD_VOLUME_IN(stereo_mix, gpr, A_EXTIN_SPDIF_CD_L); A_ADD_VOLUME_IN(stereo_mix+1, gpr+1, A_EXTIN_SPDIF_CD_R); @@ -1370,15 +1373,15 @@ snd_emu10k1_init_stereo_control(&controls[nctl++], "Line2 Capture Volume", gpr, 0); gpr += 2; - /* RCA SPDIF Playback Volume */ - A_ADD_VOLUME_IN(stereo_mix, gpr, A_EXTIN_RCA_SPDIF_L); - A_ADD_VOLUME_IN(stereo_mix+1, gpr+1, A_EXTIN_RCA_SPDIF_R); - snd_emu10k1_init_stereo_control(&controls[nctl++], "IEC958 Coaxial Playback Volume", gpr, 0); - gpr += 2; - /* RCA SPDIF Capture Volume */ - A_ADD_VOLUME_IN(capture, gpr, A_EXTIN_RCA_SPDIF_L); - A_ADD_VOLUME_IN(capture+1, gpr+1, A_EXTIN_RCA_SPDIF_R); - snd_emu10k1_init_stereo_control(&controls[nctl++], "IEC958 Coaxial Capture Volume", gpr, 0); + /* Philips ADC Playback Volume */ + A_ADD_VOLUME_IN(stereo_mix, gpr, A_EXTIN_ADC_L); + A_ADD_VOLUME_IN(stereo_mix+1, gpr+1, A_EXTIN_ADC_R); + snd_emu10k1_init_stereo_control(&controls[nctl++], "Analog Mix Playback Volume", gpr, 0); + gpr += 2; + /* Philips ADC Capture Volume */ + A_ADD_VOLUME_IN(capture, gpr, A_EXTIN_ADC_L); + A_ADD_VOLUME_IN(capture+1, gpr+1, A_EXTIN_ADC_R); + snd_emu10k1_init_stereo_control(&controls[nctl++], "Analog Mix Capture Volume", gpr, 0); gpr += 2; /* Aux2 Playback Volume */ Index: emumixer.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emumixer.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- emumixer.c 23 Oct 2003 14:34:53 -0000 1.18 +++ emumixer.c 7 Nov 2003 17:52:01 -0000 1.19 @@ -484,6 +484,22 @@ remove_ctl(card, "Master Playback Switch"); remove_ctl(card, "Master Playback Volume"); remove_ctl(card, "PCM Out Path & Mute"); + remove_ctl(card, "Mono Output Select"); + + /* set master volume to 0 dB */ + snd_ac97_write(emu->ac97, AC97_MASTER, 0x0202); + /* set capture source to mic */ + snd_ac97_write(emu->ac97, AC97_REC_SEL, 0x0000); + + /* remove unused AC97 capture controls */ + remove_ctl(card, "Capture Source"); + remove_ctl(card, "Capture Switch"); + remove_ctl(card, "Capture Volume"); + remove_ctl(card, "Mic Select"); + remove_ctl(card, "Video Playback Switch"); + remove_ctl(card, "Video Playback Volume"); + remove_ctl(card, "Mic Playback Switch"); + remove_ctl(card, "Mic Playback Volume"); } } else { if (emu->APS) @@ -499,6 +515,7 @@ rename_ctl(card, "Wave Playback Volume", "PCM Playback Volume"); /* rename_ctl(card, "Wave Capture Volume", "PCM Capture Volume"); */ rename_ctl(card, "Wave Master Playback Volume", "Master Playback Volume"); + rename_ctl(card, "AMic Playback Volume", "Mic Playback Volume"); } if ((kctl = emu->ctl_send_routing = snd_ctl_new1(&snd_emu10k1_send_routing_control, emu)) == NULL) @@ -540,6 +557,11 @@ return -ENOMEM; if ((err = snd_ctl_add(card, kctl))) return err; + if ((kctl = ctl_find(card, SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT))) != NULL) { + /* already defined by ac97, remove it */ + /* FIXME: or do we need both controls? */ + remove_ctl(card, SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT)); + } if ((kctl = snd_ctl_new1(&snd_emu10k1_spdif_control, emu)) == NULL) return -ENOMEM; if ((err = snd_ctl_add(card, kctl))) Index: emupcm.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emupcm.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- emupcm.c 29 Aug 2003 09:22:27 -0000 1.22 +++ emupcm.c 7 Nov 2003 17:52:01 -0000 1.23 @@ -871,7 +871,7 @@ epcm->capture_inte = INTE_MICBUFENABLE; epcm->capture_ba_reg = MICBA; epcm->capture_bs_reg = MICBS; - epcm->capture_idx_reg = MICIDX; + epcm->capture_idx_reg = emu->audigy ? A_MICIDX : MICIDX; substream->runtime->private_data = epcm; substream->runtime->private_free = snd_emu10k1_pcm_free_substream; runtime->hw = snd_emu10k1_capture; ------------------------------------------------------- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/ _______________________________________________ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog