[Intel-gfx] [RFC 00/15] HDMI Audio support on Atom w/o HDAUdio

When HDaudio is not enabled or fused-out, an alternate hardware interface can be used to provide audio data to the display/HDMI controller on Atom platforms. The code to control this interface was never submitted upstream but has been used extensively in Android programs on Medfield, Clovertrail, Merrifield, Moorefield, Baytrail-T and CherryTrail-T, as well as the Baytrail Compute Stick w/ Ubuntu. Jesse Barnes and others at Intel suggested the code be posted on the intex-gfx mailing lists as an RFC for graphics and audio folks to start the conversation on how to support this interface in the mainline kernel. The initial patches used for the Baytrail Compute Stick were split to make them more readable, with changes to drm/i915 and sound/ clearly separated out. A basic cleanup to make checkpatch happy was done but the code needs further updates (we know...). The code was rebased from 3.16 to drm/intel-nightly-build and tested on a Baytrail Compute Stick. CherryTrail changes will be added shortly. The main feedback expected in this RFC is on the interaction between audio and display driver, specifically if we can wrap the interface control with the component framework already used between i915 and HDaudio. A short documentation was added to help explain how the hardware works. The first two patches fix issues that were identified during the rebase process and could be merged without waiting for the interface to be reworked. Comments welcome! David Henningsson (2): hdmi_audio: Improve position reporting hdmi_audio: Fixup some monitor Pierre-Louis Bossart (10): drm: i915: fix inversion of definitions for LPE_PIPE_A/B drm: i915: remove intel_hdmi variable declaration Doc: sound: add description of Atom HDMI audio interface drm/i915: Add headers for non-HDAudio HDMI interface drm/i915: changes for non-HDAudio HDMI interface drm/i915: power-related changes non-HDAudio HDMI interface drm/i915: Add API code for non-HDAudio HDMI interface drm/i915: enable non-HDAudio HDMI interface Makefile ALSA: Intel: Atom: add Atom non-HDAudio HDMI interface add dependency on PM_RUNTIME Toyo Abe (3): hdmi_audio: Fix mishandling of AUD_HDMI_STATUS_v2 register. i915: Enable LPE_PIPEA_Interrupt. i915: Fix typo in comment. Documentation/sound/alsa/Atom-hdmi-audio.txt | 241 +++ drivers/gpu/drm/i915/Makefile | 4 +- drivers/gpu/drm/i915/hdmi_audio_if.c | 410 ++++++ drivers/gpu/drm/i915/hdmi_audio_if.h | 122 ++ drivers/gpu/drm/i915/i915_drv.h | 31 + drivers/gpu/drm/i915/i915_irq.c | 87 ++ drivers/gpu/drm/i915/i915_reg.h | 11 +- drivers/gpu/drm/i915/i915_rpm.c | 476 ++++++ drivers/gpu/drm/i915/intel_display.c | 8 + drivers/gpu/drm/i915/intel_drv.h | 11 + drivers/gpu/drm/i915/intel_hdmi.c | 185 ++- drivers/gpu/drm/i915/intel_pm.c | 53 + sound/Kconfig | 9 + sound/Makefile | 1 + sound/hdmi_audio/Makefile | 9 + sound/hdmi_audio/intel_mid_hdmi_audio.c | 2039 ++++++++++++++++++++++++++ sound/hdmi_audio/intel_mid_hdmi_audio.h | 740 ++++++++++ sound/hdmi_audio/intel_mid_hdmi_audio_if.c | 514 +++++++ 18 files changed, 4946 insertions(+), 5 deletions(-) create mode 100644 Documentation/sound/alsa/Atom-hdmi-audio.txt create mode 100644 drivers/gpu/drm/i915/hdmi_audio_if.c create mode 100644 drivers/gpu/drm/i915/hdmi_audio_if.h create mode 100644 drivers/gpu/drm/i915/i915_rpm.c create mode 100644 sound/hdmi_audio/Makefile create mode 100644 sound/hdmi_audio/intel_mid_hdmi_audio.c create mode 100644 sound/hdmi_audio/intel_mid_hdmi_audio.h create mode 100644 sound/hdmi_audio/intel_mid_hdmi_audio_if.c -- 1.9.1