summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_hdmi.c
diff options
context:
space:
mode:
authorDavid Henningsson2012-11-07 09:22:33 +0100
committerTakashi Iwai2012-11-07 09:35:02 +0100
commitc9adeefda0e29bed628e40e7f9da1f84243937e7 (patch)
tree7b6b505d430a49c1f7ec0955305eeeb6e34d2435 /sound/pci/hda/patch_hdmi.c
parentALSA: virtuoso: Xonar DSX support (diff)
downloadkernel-qcow2-linux-c9adeefda0e29bed628e40e7f9da1f84243937e7.tar.gz
kernel-qcow2-linux-c9adeefda0e29bed628e40e7f9da1f84243937e7.tar.xz
kernel-qcow2-linux-c9adeefda0e29bed628e40e7f9da1f84243937e7.zip
ALSA: hda - Keep power link on for PantherPoint HDMI
On some of the PantherPoint HDMI machines we currently enable, we're seeing trouble with unsol events, i e detecting monitor presence, especially when on battery and after suspend/resume. BugLink: https://bugs.launchpad.net/bugs/1075882 Tested-by: Cyrus Lien <cyrus.lien@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_hdmi.c')
-rw-r--r--sound/pci/hda/patch_hdmi.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 39ca1005995d..3824699142ee 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1288,13 +1288,17 @@ static int hdmi_parse_codec(struct hda_codec *codec)
}
}
+#ifdef CONFIG_PM
+ /* We're seeing some problems with unsolicited hot plug events on
+ * PantherPoint after S3, if this is not enabled */
+ if (codec->vendor_id == 0x80862806)
+ codec->bus->power_keep_link_on = 1;
/*
* G45/IbexPeak don't support EPSS: the unsolicited pin hot plug event
* can be lost and presence sense verb will become inaccurate if the
* HDA link is powered off at hot plug or hw initialization time.
*/
-#ifdef CONFIG_PM
- if (!(snd_hda_param_read(codec, codec->afg, AC_PAR_POWER_STATE) &
+ else if (!(snd_hda_param_read(codec, codec->afg, AC_PAR_POWER_STATE) &
AC_PWRST_EPSS))
codec->bus->power_keep_link_on = 1;
#endif