From d02830f2c1d03a0b8165f9415965f2ab0dd9c4da Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 4 Feb 2014 10:03:37 -0800 Subject: [PATCH] 3.13-stable patches added patches: alsa-hda-don-t-set-indep_hp-flag-for-old-ad-codecs.patch --- ...-set-indep_hp-flag-for-old-ad-codecs.patch | 95 +++++++++++++++++++ queue-3.13/series | 1 + 2 files changed, 96 insertions(+) create mode 100644 queue-3.13/alsa-hda-don-t-set-indep_hp-flag-for-old-ad-codecs.patch diff --git a/queue-3.13/alsa-hda-don-t-set-indep_hp-flag-for-old-ad-codecs.patch b/queue-3.13/alsa-hda-don-t-set-indep_hp-flag-for-old-ad-codecs.patch new file mode 100644 index 00000000000..af4b1513971 --- /dev/null +++ b/queue-3.13/alsa-hda-don-t-set-indep_hp-flag-for-old-ad-codecs.patch @@ -0,0 +1,95 @@ +From cbd209f41ea5f39394de5c1fe2dd9aa54a9c5744 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Mon, 13 Jan 2014 12:40:07 +0100 +Subject: ALSA: hda - Don't set indep_hp flag for old AD codecs + +From: Takashi Iwai + +commit cbd209f41ea5f39394de5c1fe2dd9aa54a9c5744 upstream. + +Some old AD codecs don't like the independent HP handling, either it +contains a single DAC (AD1981) or it mandates the mixer routing +(AD1986A). This patch removes the indep_hp flag for such codecs. + +Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=68081 +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/patch_analog.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +--- a/sound/pci/hda/patch_analog.c ++++ b/sound/pci/hda/patch_analog.c +@@ -185,7 +185,7 @@ static const struct hda_codec_ops ad198x + }; + + +-static int ad198x_parse_auto_config(struct hda_codec *codec) ++static int ad198x_parse_auto_config(struct hda_codec *codec, bool indep_hp) + { + struct ad198x_spec *spec = codec->spec; + struct auto_pin_cfg *cfg = &spec->gen.autocfg; +@@ -195,7 +195,7 @@ static int ad198x_parse_auto_config(stru + codec->no_trigger_sense = 1; + codec->no_sticky_stream = 1; + +- spec->gen.indep_hp = 1; ++ spec->gen.indep_hp = indep_hp; + + err = snd_hda_parse_pin_defcfg(codec, cfg, NULL, 0); + if (err < 0) +@@ -378,7 +378,7 @@ static int patch_ad1986a(struct hda_code + ad1986a_fixups); + snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE); + +- err = ad198x_parse_auto_config(codec); ++ err = ad198x_parse_auto_config(codec, false); + if (err < 0) { + snd_hda_gen_free(codec); + return err; +@@ -480,7 +480,7 @@ static int patch_ad1983(struct hda_codec + + spec->gen.beep_nid = 0x10; + set_beep_amp(spec, 0x10, 0, HDA_OUTPUT); +- err = ad198x_parse_auto_config(codec); ++ err = ad198x_parse_auto_config(codec, false); + if (err < 0) + goto error; + err = ad1983_add_spdif_mux_ctl(codec); +@@ -567,7 +567,7 @@ static int patch_ad1981(struct hda_codec + snd_hda_pick_fixup(codec, NULL, ad1981_fixup_tbl, ad1981_fixups); + snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE); + +- err = ad198x_parse_auto_config(codec); ++ err = ad198x_parse_auto_config(codec, false); + if (err < 0) + goto error; + err = ad1983_add_spdif_mux_ctl(codec); +@@ -893,7 +893,7 @@ static int patch_ad1988(struct hda_codec + snd_hda_pick_fixup(codec, ad1988_fixup_models, NULL, ad1988_fixups); + snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE); + +- err = ad198x_parse_auto_config(codec); ++ err = ad198x_parse_auto_config(codec, true); + if (err < 0) + goto error; + err = ad1988_add_spdif_mux_ctl(codec); +@@ -1070,7 +1070,7 @@ static int patch_ad1884(struct hda_codec + snd_hda_pick_fixup(codec, NULL, ad1884_fixup_tbl, ad1884_fixups); + snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE); + +- err = ad198x_parse_auto_config(codec); ++ err = ad198x_parse_auto_config(codec, true); + if (err < 0) + goto error; + err = ad1983_add_spdif_mux_ctl(codec); +@@ -1112,7 +1112,7 @@ static int patch_ad1882(struct hda_codec + spec->gen.mixer_merge_nid = 0x21; + spec->gen.beep_nid = 0x10; + set_beep_amp(spec, 0x10, 0, HDA_OUTPUT); +- err = ad198x_parse_auto_config(codec); ++ err = ad198x_parse_auto_config(codec, true); + if (err < 0) + goto error; + err = ad1988_add_spdif_mux_ctl(codec); diff --git a/queue-3.13/series b/queue-3.13/series index ac5e977ba8c..0a3d6bd7a6e 100644 --- a/queue-3.13/series +++ b/queue-3.13/series @@ -125,3 +125,4 @@ parisc-sti_console-prefer-linux-fonts-over-built-in-rom-fonts.patch parisc-fix-cache-flushing.patch kvm-ppc-book3s-hv-use-xics_wake_cpu-only-when-defined.patch kvm-ppc-e500-fix-bad-address-type-in-deliver_tlb_misss.patch +alsa-hda-don-t-set-indep_hp-flag-for-old-ad-codecs.patch -- 2.47.2