Comment 2 for bug 1075882

Revision history for this message
Takashi Iwai (tiwai) wrote : Re: [RFC PATCH] ALSA: hda - Keep power link on for PantherPoint HDMI

At Wed, 7 Nov 2012 09:22:33 +0100,
David Henningsson wrote:
>
> 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 <email address hidden>
> Signed-off-by: David Henningsson <email address hidden>
> ---
> sound/pci/hda/patch_hdmi.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> So far this is the workaround we have found to be working. Sometimes, it also
> seems that "cat /proc/asound/cardx/codec#x" can also make the HDMI unsol event
> trigger, so that the problem fixes itself.
>
> We have not run any battery life tests to see if this causes more power consumption.

Looks safe at least, so I applied to for-next branch to give more
testing. If you find a better solution, let me know.

thanks,

Takashi

>
> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> index 39ca100..3155267 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
> --
> 1.7.9.5
>