This patch set aims to resolve three problems:
* The first - and most serious one - is that the audio driver is not woken up properly when in power save modes, especially not when the HDA controller is in D3. By having the i915 driver call directly into the hda driver, the HDA driver is always notified that an HDMI hotplug event has happened.
* Second, there is currently no way for userspace to match an HDMI audio output with an HDMI video output. We fix this by sending connector_type and connector_type_id in the HDMI hotplug callback.
* Third, writing ELD info to the hardware just so the HDA driver can read it from the hardware seems a bit inefficient. We could just pass that information in the callback, too.
The patch in its current form fixes the first of these problems and provides most of the infrastructure for the second and third problem.
The patch set is based on 4.2rc2 + my recent codec wakeup patch. So far, it has been tested (and working) on one Skylake machine.
David Henningsson (4): drm/i915: Add audio hotplug info struct drm/i915: Call audio hotplug notify function ALSA: hda - Dispatch incoming HDMI hotplug i915 callback ALSA: hda - Wake the codec up on hotplug notify events
drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/intel_audio.c | 46 ++++++++++++++++++++++++++++++++++++ include/drm/i915_component.h | 19 +++++++++++++++ include/sound/hdaudio.h | 4 ++++ sound/hda/hdac_i915.c | 24 +++++++++++++++++++ sound/pci/hda/patch_hdmi.c | 22 ++++++++++++++++- 6 files changed, 115 insertions(+), 1 deletion(-)