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