diff options
author | David Henningsson <david.henningsson@canonical.com> | 2012-11-07 03:22:33 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-11-07 03:35:02 -0500 |
commit | c9adeefda0e29bed628e40e7f9da1f84243937e7 (patch) | |
tree | 7b6b505d430a49c1f7ec0955305eeeb6e34d2435 /sound/pci/hda/patch_hdmi.c | |
parent | 4492363251235c4499a2d073c5f09121ea23d39d (diff) |
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.c | 8 |
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) | |||
1288 | } | 1288 | } |
1289 | } | 1289 | } |
1290 | 1290 | ||
1291 | #ifdef CONFIG_PM | ||
1292 | /* We're seeing some problems with unsolicited hot plug events on | ||
1293 | * PantherPoint after S3, if this is not enabled */ | ||
1294 | if (codec->vendor_id == 0x80862806) | ||
1295 | codec->bus->power_keep_link_on = 1; | ||
1291 | /* | 1296 | /* |
1292 | * G45/IbexPeak don't support EPSS: the unsolicited pin hot plug event | 1297 | * G45/IbexPeak don't support EPSS: the unsolicited pin hot plug event |
1293 | * can be lost and presence sense verb will become inaccurate if the | 1298 | * can be lost and presence sense verb will become inaccurate if the |
1294 | * HDA link is powered off at hot plug or hw initialization time. | 1299 | * HDA link is powered off at hot plug or hw initialization time. |
1295 | */ | 1300 | */ |
1296 | #ifdef CONFIG_PM | 1301 | else if (!(snd_hda_param_read(codec, codec->afg, AC_PAR_POWER_STATE) & |
1297 | if (!(snd_hda_param_read(codec, codec->afg, AC_PAR_POWER_STATE) & | ||
1298 | AC_PWRST_EPSS)) | 1302 | AC_PWRST_EPSS)) |
1299 | codec->bus->power_keep_link_on = 1; | 1303 | codec->bus->power_keep_link_on = 1; |
1300 | #endif | 1304 | #endif |