diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-07-14 09:31:21 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-07-14 09:33:59 -0400 |
commit | 7b1655f5f21a9bd1eb8b478c5dab9b83de809edc (patch) | |
tree | 2b319bebe17729c238df16f82489a18ce6503566 | |
parent | cf01b73e26a8e93b46cf0b8ae878206277fb8838 (diff) |
ALSA: hda - Re-add need_dac_fix check for multi-io jacks of Realtek codecs
During the rewrite, the check of spec->need_dac_fix and the corresponding
num_dacs change was dropped from the channel-mode control.
This patch re-adds it, and also enables need_dac_fix for ALC880 as default,
as this feature was originally introduced to fix h/w bugs of this chip.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 124c63f4c457..52ce07534e5b 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -3196,6 +3196,8 @@ static int alc_auto_ch_mode_put(struct snd_kcontrol *kcontrol, | |||
3196 | for (i = 0; i < spec->multi_ios; i++) | 3196 | for (i = 0; i < spec->multi_ios; i++) |
3197 | alc_set_multi_io(codec, i, i < ch); | 3197 | alc_set_multi_io(codec, i, i < ch); |
3198 | spec->multiout.max_channels = spec->ext_channel_count; | 3198 | spec->multiout.max_channels = spec->ext_channel_count; |
3199 | if (spec->need_dac_fix && !spec->const_channel_count) | ||
3200 | spec->multiout.num_dacs = spec->multiout.max_channels / 2; | ||
3199 | return 1; | 3201 | return 1; |
3200 | } | 3202 | } |
3201 | 3203 | ||
@@ -3642,6 +3644,7 @@ static int patch_alc880(struct hda_codec *codec) | |||
3642 | codec->spec = spec; | 3644 | codec->spec = spec; |
3643 | 3645 | ||
3644 | spec->mixer_nid = 0x0b; | 3646 | spec->mixer_nid = 0x0b; |
3647 | spec->need_dac_fix = 1; | ||
3645 | 3648 | ||
3646 | board_config = alc_board_config(codec, ALC880_MODEL_LAST, | 3649 | board_config = alc_board_config(codec, ALC880_MODEL_LAST, |
3647 | alc880_models, alc880_cfg_tbl); | 3650 | alc880_models, alc880_cfg_tbl); |