> -----Original Message----- > From: Intel-gfx [mailto:intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx] On > Behalf Of David Henningsson > Sent: Thursday, July 23, 2015 11:26 PM > To: Koul, Vinod; jani.nikula@xxxxxxxxxxxxxxx; Vetter, Daniel; > tiwai@xxxxxxx; intel-gfx@xxxxxxxxxxxxxxxxxxxxx; alsa-devel@alsa- > project.org > Cc: David Henningsson > Subject: [PATCH 4/4] ALSA: hda - Wake the codec up on > hotplug notify events > > Whenever there is an event from the i915 driver, wake the codec > and recheck plug/unplug + ELD status. > > This fixes the issue with lost unsol events in power save mode, > the codec and controller can now sleep in D3 and still know when > the HDMI monitor has been connected. > > Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> > --- > sound/pci/hda/patch_hdmi.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/sound/pci/hda/patch_hdmi.c > b/sound/pci/hda/patch_hdmi.c > index 2f24338..6cc1524 100644 > --- a/sound/pci/hda/patch_hdmi.c > +++ b/sound/pci/hda/patch_hdmi.c > @@ -2316,6 +2316,15 @@ static void haswell_set_power_state(struct > hda_codec *codec, hda_nid_t fg, > snd_hda_codec_set_power_to_all(codec, fg, power_state); > } > > +static void intel_hotplug_notify(struct hdac_device *dev, int port, > + int port_mst_index) > +{ > + struct hda_codec *codec = container_of(dev, struct > hda_codec, core); > + int pin_nid = is_valleyview(codec) ? 0x03 : port + 0x04; Valleyview should be the same as others. Regards, Libin > + > + check_presence_and_report(codec, pin_nid); > +} > + > static int patch_generic_hdmi(struct hda_codec *codec) > { > struct hdmi_spec *spec; > @@ -2342,8 +2351,10 @@ static int patch_generic_hdmi(struct > hda_codec *codec) > if (is_valleyview_plus(codec) || is_skylake(codec)) > codec->core.link_power_control = 1; > > - if (is_haswell_plus(codec) || is_valleyview_plus(codec)) > + if (is_haswell_plus(codec) || is_valleyview_plus(codec)) { > codec->depop_delay = 0; > + codec->core.i915_hotplug_notify = > intel_hotplug_notify; > + } > > if (hdmi_parse_codec(codec) < 0) { > codec->spec = NULL; > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx