← Back to team overview

kernel-packages team mailing list archive

[Bug 1490895] [PATCH 3/4] ALSA: hda - allow codecs to access the i915 pin/ELD callback

 

This lets the interested codec be notified when an i915 pin/ELD
event happens.

Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx>
---
 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


References