ALSA: hda: make a STAC_DELL_EQ option

Add support for explicitly enabling the EQ distortion hack for
systems without software biquad support.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>

authored by Matthew Ranostay and committed by Takashi Iwai 6b3ab21e 69e50282

+10 -6
+10 -6
sound/pci/hda/patch_sigmatel.c
··· 69 69 enum { 70 70 STAC_92HD73XX_REF, 71 71 STAC_DELL_M6, 72 + STAC_DELL_EQ, 72 73 STAC_92HD73XX_MODELS 73 74 }; 74 75 ··· 774 773 }; 775 774 776 775 static struct hda_verb dell_m6_core_init[] = { 777 - /* set master volume to max value without distortion 778 - * and direct control */ 779 - { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xec}, 776 + { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, 780 777 /* setup audio connections */ 781 778 { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, 782 779 { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01}, ··· 1599 1600 static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { 1600 1601 [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs, 1601 1602 [STAC_DELL_M6] = dell_m6_pin_configs, 1603 + [STAC_DELL_EQ] = dell_m6_pin_configs, 1602 1604 }; 1603 1605 1604 1606 static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { 1605 1607 [STAC_92HD73XX_REF] = "ref", 1606 1608 [STAC_DELL_M6] = "dell-m6", 1609 + [STAC_DELL_EQ] = "dell-eq", 1607 1610 }; 1608 1611 1609 1612 static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { ··· 4132 4131 sizeof(stac92hd73xx_dmux)); 4133 4132 4134 4133 switch (spec->board_config) { 4135 - case STAC_DELL_M6: 4134 + case STAC_DELL_EQ: 4136 4135 spec->init = dell_eq_core_init; 4136 + /* fallthru */ 4137 + case STAC_DELL_M6: 4137 4138 spec->num_smuxes = 0; 4138 4139 spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER]; 4139 4140 spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP]; 4140 4141 spec->num_amps = 1; 4142 + 4143 + if (!spec->init) 4144 + spec->init = dell_m6_core_init; 4141 4145 switch (codec->subsystem_id) { 4142 4146 case 0x1028025e: /* Analog Mics */ 4143 4147 case 0x1028025f: ··· 4152 4146 break; 4153 4147 case 0x10280271: /* Digital Mics */ 4154 4148 case 0x10280272: 4155 - spec->init = dell_m6_core_init; 4156 - /* fall-through */ 4157 4149 case 0x10280254: 4158 4150 case 0x10280255: 4159 4151 stac92xx_set_config_reg(codec, 0x13, 0x90A60160);