Commit eefb8be4a4fb4aa9005fc092a88d66fe7cf1adc2

Authored by Takashi Iwai
1 parent 7d4f606c50

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>

Showing 2 changed files with 13 additions and 2 deletions Side-by-side Diff

Documentation/sound/alsa/HD-Audio-Models.txt
... ... @@ -244,6 +244,7 @@
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  
sound/pci/hda/patch_sigmatel.c
... ... @@ -158,6 +158,7 @@
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,
... ... @@ -3228,8 +3229,6 @@
3228 3229 [STAC_DELL_BIOS] = {
3229 3230 .type = HDA_FIXUP_PINS,
3230 3231 .v.pins = (const struct hda_pintbl[]) {
3231   - /* configure the analog microphone on some laptops */
3232   - { 0x0c, 0x90a79130 },
3233 3232 /* correct the front output jack as a hp out */
3234 3233 { 0x0f, 0x0227011f },
3235 3234 /* correct the front input jack as a mic */
... ... @@ -3239,6 +3238,16 @@
3239 3238 .chained = true,
3240 3239 .chain_id = STAC_927X_DELL_DMIC,
3241 3240 },
  3241 + [STAC_DELL_BIOS_AMIC] = {
  3242 + .type = HDA_FIXUP_PINS,
  3243 + .v.pins = (const struct hda_pintbl[]) {
  3244 + /* configure the analog microphone on some laptops */
  3245 + { 0x0c, 0x90a79130 },
  3246 + {}
  3247 + },
  3248 + .chained = true,
  3249 + .chain_id = STAC_DELL_BIOS,
  3250 + },
3242 3251 [STAC_DELL_BIOS_SPDIF] = {
3243 3252 .type = HDA_FIXUP_PINS,
3244 3253 .v.pins = (const struct hda_pintbl[]) {
... ... @@ -3267,6 +3276,7 @@
3267 3276 { .id = STAC_D965_5ST_NO_FP, .name = "5stack-no-fp" },
3268 3277 { .id = STAC_DELL_3ST, .name = "dell-3stack" },
3269 3278 { .id = STAC_DELL_BIOS, .name = "dell-bios" },
  3279 + { .id = STAC_DELL_BIOS_AMIC, .name = "dell-bios-amic" },
3270 3280 { .id = STAC_927X_VOLKNOB, .name = "volknob" },
3271 3281 {}
3272 3282 };