[PATCH RFC 0/4] ALSA: Consolidate CEA channel allocation data

From: Cássio Gabriel

Date: Fri Jun 12 2026 - 00:53:49 EST


HDA HDMI and Intel HDMI LPE maintain separate copies of the ordered
CEA-861 channel allocation descriptors, ELD speaker expansion, and
allocation selection logic. The Intel implementation originated from
the HDA code, but the copies now differ in supported allocation ranges
and fallback behavior.

Move the common data and transformations alongside the PCM DRM ELD
helpers, then migrate both users while preserving their established
behavior. HDA retains the complete CA range and channel-count fallback.
Intel HDMI LPE retains its CA 0x1f limit, ELD speaker bits 0 through 6,
and lack of fallback for incompatible ELD data.

The descriptors and their derived channel counts and speaker masks
become compile-time constants. This removes duplicated mutable
initialization and provides one authoritative allocation table without
changing the existing allocation-selection policy.

No hardware was available to test this patch series.

Signed-off-by: Cássio Gabriel <cassiogabrielcontato@xxxxxxxxx>
---
Cássio Gabriel (4):
ALSA: pcm: Add common CEA channel allocation helpers
ALSA: hda: Make CEA channel allocation interfaces const
ALSA: hda: Use common CEA channel allocations
ALSA: x86: Use common CEA channel allocations

include/sound/hda_chmap.h | 15 +--
include/sound/pcm_drm_eld.h | 16 +++
sound/core/pcm_drm_eld.c | 181 +++++++++++++++++++++++++++
sound/hda/codecs/hdmi/atihdmi.c | 6 +-
sound/hda/codecs/hdmi/nvhdmi.c | 2 +-
sound/hda/codecs/hdmi/tegrahdmi.c | 2 +-
sound/hda/core/Kconfig | 1 +
sound/hda/core/hdmi_chmap.c | 252 +++++++-------------------------------
sound/x86/Kconfig | 1 +
sound/x86/intel_hdmi_audio.c | 158 +++---------------------
sound/x86/intel_hdmi_audio.h | 9 --
11 files changed, 271 insertions(+), 372 deletions(-)
---
base-commit: 0f6f60115bfc536c1935d3d0da66cf1d5c7d6055