| From 9f720bb9409ea5923361fbd3fdbc505ca36cf012 Mon Sep 17 00:00:00 2001 |
| From: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com> |
| Date: Thu, 27 Sep 2012 10:38:14 -0300 |
| Subject: ALSA: hda/realtek - Fix detection of ALC271X codec |
| |
| From: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com> |
| |
| commit 9f720bb9409ea5923361fbd3fdbc505ca36cf012 upstream. |
| |
| In commit af741c1 ("ALSA: hda/realtek - Call alc_auto_parse_customize_define() |
| always after fixup"), alc_auto_parse_customize_define was moved after |
| detection of ALC271X. |
| |
| The problem is that detection of ALC271X relies on spec->cdefine.platform_type, |
| and it's set on alc_auto_parse_customize_define. |
| |
| Move the alc_auto_parse_customize_define and its required fixup setup |
| before the block doing the ALC271X and other codec setup. |
| |
| BugLink: https://bugs.launchpad.net/bugs/1006690 |
| Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com> |
| Reviewed-by: David Henningsson <david.henningsson@canonical.com> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/pci/hda/patch_realtek.c | 12 ++++++------ |
| 1 file changed, 6 insertions(+), 6 deletions(-) |
| |
| --- a/sound/pci/hda/patch_realtek.c |
| +++ b/sound/pci/hda/patch_realtek.c |
| @@ -6145,6 +6145,12 @@ static int patch_alc269(struct hda_codec |
| |
| spec = codec->spec; |
| |
| + alc_pick_fixup(codec, alc269_fixup_models, |
| + alc269_fixup_tbl, alc269_fixups); |
| + alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE); |
| + |
| + alc_auto_parse_customize_define(codec); |
| + |
| if (codec->vendor_id == 0x10ec0269) { |
| spec->codec_variant = ALC269_TYPE_ALC269VA; |
| switch (alc_get_coef0(codec) & 0x00f0) { |
| @@ -6172,12 +6178,6 @@ static int patch_alc269(struct hda_codec |
| alc269_fill_coef(codec); |
| } |
| |
| - alc_pick_fixup(codec, alc269_fixup_models, |
| - alc269_fixup_tbl, alc269_fixups); |
| - alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE); |
| - |
| - alc_auto_parse_customize_define(codec); |
| - |
| /* automatic parse from the BIOS config */ |
| err = alc269_parse_auto_config(codec); |
| if (err < 0) |