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

Ville Syrjälä ville.syrjala at linux.intel.com
Sat Mar 5 13:42:15 UTC 2016


On Fri, Mar 04, 2016 at 08:50:37PM -0600, Pierre-Louis Bossart wrote:
> 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.

Not sure why you skirt around calling the thing by its name. It's
called LPE isn't it?

> 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.

Yes, using/extending the already existing audio component stuff was
my first though when I did a preliminary scan of the patches. I didn't
look too closely at what's needed hardware wise, so can't get into
details yet.

Some other peculiar things that caught my eye:
- adds some HDMI live status stuff etc. which we already have
- missing pipe C for CHV?
- no clue what that procfs/rpm patch was about

Anyway, I'll try to take a better look at it next week,

>
> 
> 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
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list