Hi all,
here's the 4th round for this series that adapts SOF to use snd-hda-codec-hdmi (patch_hdmi.c) codec driver instead of hdac_hdmi (soc/codecs/hdac_hdmi.c). The primary goal is to unify the HDMI codec implementation between DSP and non-DSP HDA configurations, offer same interface to user-space and reduce maintenance load for all.
v4 changes: - Change order of patches to not break bisect (Pierre's feedback). - Improve the explanation in commit message for mst_no_extra_pcms, patch 1. (Pierre's feedback). - Fix errors in PCM constraints for HDMI (Pierre's feedback). - Fix an issue on Ice Lake platforms (patch 3).
Feature and testing info: - Tested on multiple Intel platforms supported by SOF. - Tested with ALSA console tools as well as with Pulseaudio. - requires Pulseaudio 12.x or newer, see https://lists.freedesktop.org/archives/pulseaudio-discuss/2019-August/031358... - HDMI, DP, DP-MST with multi-monitor use-scenarios work ok. - New feature for SOF: ELD /proc fs works just like in DSP-less mode. - New feature for SOF: jack detection works out-of-the-box with Pulseaudio (no need for card specific UCM for HDMI)
Kai Vehmanen (9): ALSA: hda/hdmi - implement mst_no_extra_pcms flag ASoC: hdac_hda: add support for HDMI/DP as a HDA codec ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi ASoC: Intel: skl-hda-dsp-generic: fix include guard name ASoC: SOF: Intel: add support for snd-hda-codec-hdmi ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support ASoC: intel: sof_rt5682: common hdmi codec support ASoC: Intel: bxt_rt298: common hdmi codec support
include/sound/hda_codec.h | 1 + include/sound/soc-acpi.h | 2 + sound/pci/hda/patch_hdmi.c | 19 +++- sound/soc/codecs/hdac_hda.c | 100 +++++++++++++++--- sound/soc/codecs/hdac_hda.h | 12 ++- sound/soc/intel/boards/bxt_da7219_max98357a.c | 11 ++ sound/soc/intel/boards/bxt_rt298.c | 11 ++ sound/soc/intel/boards/glk_rt5682_max98357a.c | 11 ++ sound/soc/intel/boards/hda_dsp_common.h | 93 ++++++++++++++++ sound/soc/intel/boards/skl_hda_dsp_common.c | 10 +- sound/soc/intel/boards/skl_hda_dsp_common.h | 27 ++++- sound/soc/intel/boards/skl_hda_dsp_generic.c | 1 + sound/soc/intel/boards/sof_rt5682.c | 11 ++ sound/soc/sof/intel/Kconfig | 10 ++ sound/soc/sof/intel/hda-codec.c | 19 +++- sound/soc/sof/intel/hda.c | 6 ++ sound/soc/sof/intel/hda.h | 6 +- 17 files changed, 323 insertions(+), 27 deletions(-) create mode 100644 sound/soc/intel/boards/hda_dsp_common.h