diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-07-29 18:41:29 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-07-29 18:41:29 +0200 |
commit | 71443b0b745f7d2c775c8a228e09ef2dc98d42f3 (patch) | |
tree | cf53e9d5c9de05f64923e221f12143dc21ed8ab0 /sound/pci | |
parent | 15b4f296fce683497ecc815b2f9b6f121fb3fef8 (diff) | |
download | op-kernel-dev-71443b0b745f7d2c775c8a228e09ef2dc98d42f3.zip op-kernel-dev-71443b0b745f7d2c775c8a228e09ef2dc98d42f3.tar.gz |
ALSA: hda - No analog mix input source as default for IDT92HD71bxx
The analog mix is disabled now as default (unless "analog_mixer" hint
is given), so it shoudn't appear in the digital input source as well.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 2405f841..883e2aa 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -5481,8 +5481,6 @@ again: } break; case 0x111d7608: /* 5 Port with Analog Mixer */ - memcpy(&spec->private_dimux, &stac92hd71bxx_dmux_amixer, - sizeof(stac92hd71bxx_dmux_amixer)); spec->private_dimux.num_items--; switch (spec->board_config) { case STAC_HP_M4: @@ -5505,9 +5503,15 @@ again: /* no output amps */ spec->num_pwrs = 0; - if (snd_hda_get_bool_hint(codec, "analog_mixer") == 1) + if (snd_hda_get_bool_hint(codec, "analog_mixer") == 1) { spec->mixer = stac92hd71bxx_analog_mixer; - + memcpy(&spec->private_dimux, &stac92hd71bxx_dmux_amixer, + sizeof(stac92hd71bxx_dmux_amixer)); + } else { + memcpy(&spec->private_dimux, + &stac92hd71bxx_dmux_nomixer, + sizeof(stac92hd71bxx_dmux_nomixer)); + } /* disable VSW */ spec->init = stac92hd71bxx_core_init; unmute_init++; @@ -5531,10 +5535,15 @@ again: spec->num_pwrs = 0; /* fallthru */ default: - memcpy(&spec->private_dimux, &stac92hd71bxx_dmux_amixer, - sizeof(stac92hd71bxx_dmux_amixer)); - if (snd_hda_get_bool_hint(codec, "analog_mixer") == 1) + if (snd_hda_get_bool_hint(codec, "analog_mixer") == 1) { spec->mixer = stac92hd71bxx_analog_mixer; + memcpy(&spec->private_dimux, &stac92hd71bxx_dmux_amixer, + sizeof(stac92hd71bxx_dmux_amixer)); + } else { + memcpy(&spec->private_dimux, + &stac92hd71bxx_dmux_nomixer, + sizeof(stac92hd71bxx_dmux_nomixer)); + } spec->init = stac92hd71bxx_core_init; codec->slave_dig_outs = stac92hd71bxx_slave_dig_outs; spec->num_dmics = stac92hd71bxx_connected_ports(codec, |