Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ALSA: hda - Remove analog mic pin override from STAC9228 dell-bios quirk

The current fixup for dell-bios model with STAC9228 codec contains the
override of pin 0x0c for analog mic. But this is actually just adding
a bogus pin and confuses the parser. Better to remove it for the
auto-mic switching.

Meanwhile, for a possible regression, keep the old configuration as
model=dell-bios-amic, so that people can test it again quickly.

Tested on Dell 1420n laptop.

Reported-and-tested-by: Eric Shattow <lucent@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

+13 -2
+1
Documentation/sound/alsa/HD-Audio-Models.txt
··· 244 244 5stack-no-fp D965 5stack without front panel 245 245 dell-3stack Dell Dimension E520 246 246 dell-bios Fixes with Dell BIOS setup 247 + dell-bios-amic Fixes with Dell BIOS setup including analog mic 247 248 volknob Fixes with volume-knob widget 0x24 248 249 auto BIOS setup (default) 249 250
+12 -2
sound/pci/hda/patch_sigmatel.c
··· 158 158 STAC_D965_VERBS, 159 159 STAC_DELL_3ST, 160 160 STAC_DELL_BIOS, 161 + STAC_DELL_BIOS_AMIC, 161 162 STAC_DELL_BIOS_SPDIF, 162 163 STAC_927X_DELL_DMIC, 163 164 STAC_927X_VOLKNOB, ··· 3229 3228 [STAC_DELL_BIOS] = { 3230 3229 .type = HDA_FIXUP_PINS, 3231 3230 .v.pins = (const struct hda_pintbl[]) { 3232 - /* configure the analog microphone on some laptops */ 3233 - { 0x0c, 0x90a79130 }, 3234 3231 /* correct the front output jack as a hp out */ 3235 3232 { 0x0f, 0x0227011f }, 3236 3233 /* correct the front input jack as a mic */ ··· 3237 3238 }, 3238 3239 .chained = true, 3239 3240 .chain_id = STAC_927X_DELL_DMIC, 3241 + }, 3242 + [STAC_DELL_BIOS_AMIC] = { 3243 + .type = HDA_FIXUP_PINS, 3244 + .v.pins = (const struct hda_pintbl[]) { 3245 + /* configure the analog microphone on some laptops */ 3246 + { 0x0c, 0x90a79130 }, 3247 + {} 3248 + }, 3249 + .chained = true, 3250 + .chain_id = STAC_DELL_BIOS, 3240 3251 }, 3241 3252 [STAC_DELL_BIOS_SPDIF] = { 3242 3253 .type = HDA_FIXUP_PINS, ··· 3276 3267 { .id = STAC_D965_5ST_NO_FP, .name = "5stack-no-fp" }, 3277 3268 { .id = STAC_DELL_3ST, .name = "dell-3stack" }, 3278 3269 { .id = STAC_DELL_BIOS, .name = "dell-bios" }, 3270 + { .id = STAC_DELL_BIOS_AMIC, .name = "dell-bios-amic" }, 3279 3271 { .id = STAC_927X_VOLKNOB, .name = "volknob" }, 3280 3272 {} 3281 3273 };