ALSA: hda - Don't apply ALC269-specific initialization to ALC275

ALC275 doesn't require the ALC269 (and its variants) specific init
sequences.  Add the check of codec id.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Kailang Yang 2010-12-21 09:14:13 +01:00 committed by Takashi Iwai
parent 2785591a97
commit c793bec550
1 changed files with 23 additions and 22 deletions

View File

@ -15104,28 +15104,29 @@ static int patch_alc269(struct hda_codec *codec)
alc_auto_parse_customize_define(codec); alc_auto_parse_customize_define(codec);
coef = alc_read_coef_idx(codec, 0); if (codec->vendor_id == 0x10ec0269) {
if ((coef & 0x00f0) == 0x0010) { coef = alc_read_coef_idx(codec, 0);
if (codec->bus->pci->subsystem_vendor == 0x1025 && if ((coef & 0x00f0) == 0x0010) {
spec->cdefine.platform_type == 1) { if (codec->bus->pci->subsystem_vendor == 0x1025 &&
alc_codec_rename(codec, "ALC271X"); spec->cdefine.platform_type == 1) {
spec->codec_variant = ALC269_TYPE_ALC271X; alc_codec_rename(codec, "ALC271X");
} else if ((coef & 0xf000) == 0x1000) { spec->codec_variant = ALC269_TYPE_ALC271X;
spec->codec_variant = ALC269_TYPE_ALC270; } else if ((coef & 0xf000) == 0x1000) {
} else if ((coef & 0xf000) == 0x2000) { spec->codec_variant = ALC269_TYPE_ALC270;
alc_codec_rename(codec, "ALC259"); } else if ((coef & 0xf000) == 0x2000) {
spec->codec_variant = ALC269_TYPE_ALC259; alc_codec_rename(codec, "ALC259");
} else if ((coef & 0xf000) == 0x3000) { spec->codec_variant = ALC269_TYPE_ALC259;
alc_codec_rename(codec, "ALC258"); } else if ((coef & 0xf000) == 0x3000) {
spec->codec_variant = ALC269_TYPE_ALC258; alc_codec_rename(codec, "ALC258");
} else { spec->codec_variant = ALC269_TYPE_ALC258;
alc_codec_rename(codec, "ALC269VB"); } else {
spec->codec_variant = ALC269_TYPE_ALC269VB; alc_codec_rename(codec, "ALC269VB");
} spec->codec_variant = ALC269_TYPE_ALC269VB;
} else }
alc_fix_pll_init(codec, 0x20, 0x04, 15); } else
alc_fix_pll_init(codec, 0x20, 0x04, 15);
alc269_fill_coef(codec); alc269_fill_coef(codec);
}
board_config = snd_hda_check_board_config(codec, ALC269_MODEL_LAST, board_config = snd_hda_check_board_config(codec, ALC269_MODEL_LAST,
alc269_models, alc269_models,