[ALSA] emu10k1: Add support for Audigy4 (not Pro)
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
This commit is contained in:

committed by
Jaroslav Kysela

parent
6129daaa0d
commit
21fdddea8e
@@ -777,6 +777,8 @@ int __devinit snd_emu10k1_mixer(struct snd_emu10k1 *emu,
|
||||
};
|
||||
static char *audigy_remove_ctls[] = {
|
||||
/* Master/PCM controls on ac97 of Audigy has no effect */
|
||||
/* On the Audigy2 the AC97 playback is piped into
|
||||
* the Philips ADC for 24bit capture */
|
||||
"PCM Playback Switch",
|
||||
"PCM Playback Volume",
|
||||
"Master Mono Playback Switch",
|
||||
@@ -804,6 +806,47 @@ int __devinit snd_emu10k1_mixer(struct snd_emu10k1 *emu,
|
||||
"AMic Playback Volume", "Mic Playback Volume",
|
||||
NULL
|
||||
};
|
||||
static char *audigy_remove_ctls_1361t_adc[] = {
|
||||
/* On the Audigy2 the AC97 playback is piped into
|
||||
* the Philips ADC for 24bit capture */
|
||||
"PCM Playback Switch",
|
||||
"PCM Playback Volume",
|
||||
"Master Mono Playback Switch",
|
||||
"Master Mono Playback Volume",
|
||||
"Capture Source",
|
||||
"Capture Switch",
|
||||
"Capture Volume",
|
||||
"Mic Capture Volume",
|
||||
"Headphone Playback Switch",
|
||||
"Headphone Playback Volume",
|
||||
"3D Control - Center",
|
||||
"3D Control - Depth",
|
||||
"3D Control - Switch",
|
||||
"Line2 Playback Volume",
|
||||
"Line2 Capture Volume",
|
||||
NULL
|
||||
};
|
||||
static char *audigy_rename_ctls_1361t_adc[] = {
|
||||
"Master Playback Switch", "Master Capture Switch",
|
||||
"Master Playback Volume", "Master Capture Volume",
|
||||
"Wave Master Playback Volume", "Master Playback Volume",
|
||||
"PC Speaker Playback Switch", "PC Speaker Capture Switch",
|
||||
"PC Speaker Playback Volume", "PC Speaker Capture Volume",
|
||||
"Phone Playback Switch", "Phone Capture Switch",
|
||||
"Phone Playback Volume", "Phone Capture Volume",
|
||||
"Mic Playback Switch", "Mic Capture Switch",
|
||||
"Mic Playback Volume", "Mic Capture Volume",
|
||||
"Line Playback Switch", "Line Capture Switch",
|
||||
"Line Playback Volume", "Line Capture Volume",
|
||||
"CD Playback Switch", "CD Capture Switch",
|
||||
"CD Playback Volume", "CD Capture Volume",
|
||||
"Aux Playback Switch", "Aux Capture Switch",
|
||||
"Aux Playback Volume", "Aux Capture Volume",
|
||||
"Video Playback Switch", "Video Capture Switch",
|
||||
"Video Playback Volume", "Video Capture Volume",
|
||||
|
||||
NULL
|
||||
};
|
||||
|
||||
if (emu->card_capabilities->ac97_chip) {
|
||||
struct snd_ac97_bus *pbus;
|
||||
@@ -834,7 +877,10 @@ int __devinit snd_emu10k1_mixer(struct snd_emu10k1 *emu,
|
||||
snd_ac97_write_cache(emu->ac97, AC97_MASTER, 0x0000);
|
||||
/* set capture source to mic */
|
||||
snd_ac97_write_cache(emu->ac97, AC97_REC_SEL, 0x0000);
|
||||
c = audigy_remove_ctls;
|
||||
if (emu->card_capabilities->adc_1361t)
|
||||
c = audigy_remove_ctls_1361t_adc;
|
||||
else
|
||||
c = audigy_remove_ctls;
|
||||
} else {
|
||||
/*
|
||||
* Credits for cards based on STAC9758:
|
||||
@@ -863,11 +909,15 @@ int __devinit snd_emu10k1_mixer(struct snd_emu10k1 *emu,
|
||||
}
|
||||
|
||||
if (emu->audigy)
|
||||
c = audigy_rename_ctls;
|
||||
if (emu->card_capabilities->adc_1361t)
|
||||
c = audigy_rename_ctls_1361t_adc;
|
||||
else
|
||||
c = audigy_rename_ctls;
|
||||
else
|
||||
c = emu10k1_rename_ctls;
|
||||
for (; *c; c += 2)
|
||||
rename_ctl(card, c[0], c[1]);
|
||||
|
||||
if (emu->card_capabilities->subsystem == 0x20071102) { /* Audigy 4 Pro */
|
||||
rename_ctl(card, "Line2 Capture Volume", "Line1/Mic Capture Volume");
|
||||
rename_ctl(card, "Analog Mix Capture Volume", "Line2 Capture Volume");
|
||||
|
Reference in New Issue
Block a user