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

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Sat Mar 5 02:50:37 UTC 2016

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


More information about the Intel-gfx mailing list