This is a note to let you know that I've just added the patch titled
ALSA: hda - Add keep_eapd_on flag to generic parser
to the 3.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
alsa-hda-add-keep_eapd_on-flag-to-generic-parser.patch
and it can be found in the queue-3.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From 05909d5c679cf7c9a8a5bc663677c066a546894f Mon Sep 17 00:00:00 2001
From: Takashi Iwai <[email protected]>
Date: Fri, 31 May 2013 19:55:54 +0200
Subject: ALSA: hda - Add keep_eapd_on flag to generic parser
From: Takashi Iwai <[email protected]>
commit 05909d5c679cf7c9a8a5bc663677c066a546894f upstream.
VT1802 codec seems to reset EAPD of other pins in the hardware level,
and this was another reason of the silent headphone output on some
machines. As a workaround, introduce a new flag indicating to keep
the EPAD on to the generic parser, and set it in patch_via.c.
Reported-by: Alex Riesen <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
sound/pci/hda/hda_generic.c | 2 ++
sound/pci/hda/hda_generic.h | 1 +
sound/pci/hda/patch_via.c | 1 +
3 files changed, 4 insertions(+)
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -772,6 +772,8 @@ static void set_pin_eapd(struct hda_code
return;
if (codec->inv_eapd)
enable = !enable;
+ if (spec->keep_eapd_on && !enable)
+ return;
snd_hda_codec_update_cache(codec, pin, 0,
AC_VERB_SET_EAPD_BTLENABLE,
enable ? 0x02 : 0x00);
--- a/sound/pci/hda/hda_generic.h
+++ b/sound/pci/hda/hda_generic.h
@@ -205,6 +205,7 @@ struct hda_gen_spec {
unsigned int multi_cap_vol:1; /* allow multiple capture xxx volumes */
unsigned int inv_dmic_split:1; /* inverted dmic w/a for conexant */
unsigned int own_eapd_ctl:1; /* set EAPD by own function */
+ unsigned int keep_eapd_on:1; /* don't turn off EAPD automatically */
unsigned int vmaster_mute_enum:1; /* add vmaster mute mode enum */
unsigned int indep_hp:1; /* independent HP supported */
unsigned int prefer_hp_amp:1; /* enable HP amp for speaker if any */
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -136,6 +136,7 @@ static struct via_spec *via_new_spec(str
spec->codec_type = VT1708S;
spec->no_pin_power_ctl = 1;
spec->gen.indep_hp = 1;
+ spec->gen.keep_eapd_on = 1;
spec->gen.pcm_playback_hook = via_playback_pcm_hook;
return spec;
}
Patches currently in stable-queue which might be from [email protected] are
queue-3.9/alsa-hda-add-keep_eapd_on-flag-to-generic-parser.patch
queue-3.9/alsa-hda-via-disable-broken-dynamic-power-control.patch
queue-3.9/alsa-usb-audio-fix-roland-cakewalk-um-3g-support.patch
queue-3.9/alsa-hda-allow-setting-automute-automic-hooks-after-parsing.patch
queue-3.9/alsa-usb-audio-apply-logitech-quickcam-pro-9000-quirk-only-to-audio-iface.patch
queue-3.9/alsa-hda-via-fix-wrongly-cleared-pins-after-suspend-on.patch
queue-3.9/alsa-usb-audio-fix-invalid-volume-resolution-on-logitech-hd-webcam-c270.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html