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

Reply via email to