From: Takashi Iwai Date: Thu, 14 Jul 2011 13:31:21 +0000 (+0200) Subject: ALSA: hda - Re-add need_dac_fix check for multi-io jacks of Realtek codecs X-Git-Tag: v3.1-rc2~4^2~47^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7b1655f5f21a9bd1eb8b478c5dab9b83de809edc;p=profile%2Fivi%2Fkernel-x86-ivi.git 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 --- diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 124c63f..52ce075 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, for (i = 0; i < spec->multi_ios; i++) alc_set_multi_io(codec, i, i < ch); spec->multiout.max_channels = spec->ext_channel_count; + if (spec->need_dac_fix && !spec->const_channel_count) + spec->multiout.num_dacs = spec->multiout.max_channels / 2; return 1; } @@ -3642,6 +3644,7 @@ static int patch_alc880(struct hda_codec *codec) codec->spec = spec; spec->mixer_nid = 0x0b; + spec->need_dac_fix = 1; board_config = alc_board_config(codec, ALC880_MODEL_LAST, alc880_models, alc880_cfg_tbl);