diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 5e530205bba4..22c73b78ac6f 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -2068,12 +2068,16 @@ static int alc_build_controls(struct hda_codec *codec) | |||
2068 | */ | 2068 | */ |
2069 | 2069 | ||
2070 | static void alc_init_special_input_src(struct hda_codec *codec); | 2070 | static void alc_init_special_input_src(struct hda_codec *codec); |
2071 | static int alc269_fill_coef(struct hda_codec *codec); | ||
2071 | 2072 | ||
2072 | static int alc_init(struct hda_codec *codec) | 2073 | static int alc_init(struct hda_codec *codec) |
2073 | { | 2074 | { |
2074 | struct alc_spec *spec = codec->spec; | 2075 | struct alc_spec *spec = codec->spec; |
2075 | unsigned int i; | 2076 | unsigned int i; |
2076 | 2077 | ||
2078 | if (codec->vendor_id == 0x10ec0269) | ||
2079 | alc269_fill_coef(codec); | ||
2080 | |||
2077 | alc_fix_pll(codec); | 2081 | alc_fix_pll(codec); |
2078 | alc_auto_init_amp(codec, spec->init_amp); | 2082 | alc_auto_init_amp(codec, spec->init_amp); |
2079 | 2083 | ||
@@ -5476,8 +5480,12 @@ static const struct alc_model_fixup alc269_fixup_models[] = { | |||
5476 | 5480 | ||
5477 | static int alc269_fill_coef(struct hda_codec *codec) | 5481 | static int alc269_fill_coef(struct hda_codec *codec) |
5478 | { | 5482 | { |
5483 | struct alc_spec *spec = codec->spec; | ||
5479 | int val; | 5484 | int val; |
5480 | 5485 | ||
5486 | if (spec->codec_variant != ALC269_TYPE_ALC269VB) | ||
5487 | return 0; | ||
5488 | |||
5481 | if ((alc_get_coef0(codec) & 0x00ff) < 0x015) { | 5489 | if ((alc_get_coef0(codec) & 0x00ff) < 0x015) { |
5482 | alc_write_coef_idx(codec, 0xf, 0x960b); | 5490 | alc_write_coef_idx(codec, 0xf, 0x960b); |
5483 | alc_write_coef_idx(codec, 0xe, 0x8817); | 5491 | alc_write_coef_idx(codec, 0xe, 0x8817); |