From: David Henningsson Date: Wed, 7 Nov 2012 08:22:33 +0000 (+0100) Subject: ALSA: hda - Keep power link on for PantherPoint HDMI X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=c9adeefda0e29bed628e40e7f9da1f84243937e7;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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 Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai --- 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