This lets the interested codec be notified when an i915 pin/ELD event happens.
Signed-off-by: David Henningsson <david.hennings...@canonical.com> --- sound/pci/hda/hda_i915.c | 10 ++++++++++ sound/pci/hda/hda_intel.h | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/sound/pci/hda/hda_i915.c b/sound/pci/hda/hda_i915.c index aec8a0e..b6eadf1 100644 --- a/sound/pci/hda/hda_i915.c +++ b/sound/pci/hda/hda_i915.c @@ -108,6 +108,16 @@ void haswell_set_bclk(struct hda_intel *hda) azx_writew(&hda->chip, EM5, bclk_n); } +int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *aops) +{ + if (WARN_ON(!hdac_acomp)) + return -ENODEV; + + hdac_acomp->audio_ops = aops; + return 0; +} +EXPORT_SYMBOL_GPL(snd_hdac_i915_register_notifier); + static int hda_component_master_bind(struct device *dev) { struct snd_card *card = dev_get_drvdata(dev); diff --git a/sound/pci/hda/hda_intel.h b/sound/pci/hda/hda_intel.h index 51cd664..51b940c 100644 --- a/sound/pci/hda/hda_intel.h +++ b/sound/pci/hda/hda_intel.h @@ -54,6 +54,7 @@ void haswell_set_bclk(struct hda_intel *hda); int hda_i915_init(struct hda_intel *hda); int hda_i915_init_bpo(struct hda_intel *hda); int hda_i915_exit(struct hda_intel *hda); +int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *); #else static inline int hda_set_codec_wakeup(struct hda_intel *hda, bool enable) { @@ -80,6 +81,10 @@ static inline int hda_i915_exit_bpo(void) { return 0; } +static inline int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *) +{ + return -ENODEV; +} #endif #endif -- 1.9.1 -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1490895 Title: Skylake/Broadwell/Haswell: No HDMI audio jack detection in D3 Status in linux package in Ubuntu: In Progress Bug description: This is a long-standing bug for some Haswell, Broadwell and most Skylake machines. When the HDA audio controller is in D3, a hotplug event (i e, HDMI or DisplayPort being plugged in) fails to wake up the audio side so it never registers that something has happened. By having the i915 driver call directly into the hda driver, the HDA driver is always notified that an HDMI hotplug event has happened. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1490895/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp