Skip to content

Commit

Permalink
ALSA: hda: make a STAC_DELL_EQ option
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Matthew Ranostay authored and Takashi Iwai committed Nov 3, 2008
1 parent 69e5028 commit 6b3ab21
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions sound/pci/hda/patch_sigmatel.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ enum {
enum {
STAC_92HD73XX_REF,
STAC_DELL_M6,
STAC_DELL_EQ,
STAC_92HD73XX_MODELS
};

Expand Down Expand Up @@ -773,9 +774,7 @@ static struct hda_verb dell_eq_core_init[] = {
};

static struct hda_verb dell_m6_core_init[] = {
/* set master volume to max value without distortion
* and direct control */
{ 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xec},
{ 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff},
/* setup audio connections */
{ 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00},
{ 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01},
Expand Down Expand Up @@ -1600,11 +1599,13 @@ static unsigned int dell_m6_pin_configs[13] = {
static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = {
[STAC_92HD73XX_REF] = ref92hd73xx_pin_configs,
[STAC_DELL_M6] = dell_m6_pin_configs,
[STAC_DELL_EQ] = dell_m6_pin_configs,
};

static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = {
[STAC_92HD73XX_REF] = "ref",
[STAC_DELL_M6] = "dell-m6",
[STAC_DELL_EQ] = "dell-eq",
};

static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = {
Expand Down Expand Up @@ -4131,12 +4132,17 @@ static int patch_stac92hd73xx(struct hda_codec *codec)
sizeof(stac92hd73xx_dmux));

switch (spec->board_config) {
case STAC_DELL_M6:
case STAC_DELL_EQ:
spec->init = dell_eq_core_init;
/* fallthru */
case STAC_DELL_M6:
spec->num_smuxes = 0;
spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER];
spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP];
spec->num_amps = 1;

if (!spec->init)
spec->init = dell_m6_core_init;
switch (codec->subsystem_id) {
case 0x1028025e: /* Analog Mics */
case 0x1028025f:
Expand All @@ -4146,8 +4152,6 @@ static int patch_stac92hd73xx(struct hda_codec *codec)
break;
case 0x10280271: /* Digital Mics */
case 0x10280272:
spec->init = dell_m6_core_init;
/* fall-through */
case 0x10280254:
case 0x10280255:
stac92xx_set_config_reg(codec, 0x13, 0x90A60160);
Expand Down

0 comments on commit 6b3ab21

Please sign in to comment.