aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-07-29 18:41:29 +0200
committerTakashi Iwai <tiwai@suse.de>2009-07-29 18:41:29 +0200
commit71443b0b745f7d2c775c8a228e09ef2dc98d42f3 (patch)
treecf53e9d5c9de05f64923e221f12143dc21ed8ab0 /sound/pci/hda/patch_sigmatel.c
parent15b4f296fce683497ecc815b2f9b6f121fb3fef8 (diff)
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/hda/patch_sigmatel.c')
-rw-r--r--sound/pci/hda/patch_sigmatel.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 2405f8418a7..883e2aa1007 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,