Hi,
Changes since v1: - Rename hda_bus_ml_get_capabilities() to hda_bus_ml_init() - patch 06/18 - Rename check_power_active() to check_sublink_power() and the parameter from enable to enabled - patch 08/18
Not changed: the poll timeout implementation for now, as Pierre mentioned it can be done at a later time.
Cover letter:
The following series adds the core support to handle the recently updated HDaudio multi-link support to hanlde non HDA links, like SoundWire/DMIC/SSP on Intel platform.
For details, please see the first patch which documents the current mlink support (introduced at Skylake) and the new extensions, arriving with LNL.
There is no change in functionality for existing HDA support, the extension is backwards compatible with existing implementations.
Regards, Peter --- Pierre-Louis Bossart (18): Documentation: sound: add description of Intel HDaudio multi-links ALSA: hda: add HDaudio Extended link definitions ASoC: SOF: Intel: hda-mlink: improve hda_bus_ml_free() helper ASoC: SOF: Intel: hda-mlink: add return value for hda_bus_ml_get_capabilities() ASoC: SOF: Intel: hda-mlink: move to a dedicated module ASoC: SOF: Intel: hda-mlink: add structures to parse ALT links ASoC: SOF: Intel: hda-mlink: special-case HDaudio regular links ASoC: SOF: Intel: hda-mlink: introduce helpers for 'extended links' PM ASoC: SOF: Intel: hda-mlink: add convenience helpers for SoundWire PM ASoC: SOF: Intel: hda-mlink: add helper to return sublink count ASoC: SOF: Intel: hda-mlink: add helpers to enable/check interrupts ASoC: SOF: Intel: hda-mlink: add helpers to set link SYNC frequency ASoC: SOF: Intel: hda-mlink: add helpers for sync_arm/sync_go ASoC: SOF: Intel: hda-mlink: add helper to check cmdsync ASoC: SOF: Intel: hda-mlink: program SoundWire LSDIID registers ASoC: SOF: Intel: hda-mlink: add helpers to retrieve DMIC/SSP hlink ASoC: SOF: Intel: hda-mlink: add helper to offload link ownership ASoC: SOF: Intel: hda-mlink: add helper to retrieve eml_lock
Documentation/sound/hd-audio/index.rst | 1 + .../sound/hd-audio/intel-multi-link.rst | 312 +++++++ include/sound/hda-mlink.h | 166 ++++ include/sound/hda_register.h | 40 +- sound/soc/sof/intel/Kconfig | 7 + sound/soc/sof/intel/Makefile | 5 +- sound/soc/sof/intel/hda-ctrl.c | 1 + sound/soc/sof/intel/hda-dsp.c | 1 + sound/soc/sof/intel/hda-mlink.c | 822 +++++++++++++++++- sound/soc/sof/intel/hda.c | 4 +- sound/soc/sof/intel/hda.h | 20 - 11 files changed, 1332 insertions(+), 47 deletions(-) create mode 100644 Documentation/sound/hd-audio/intel-multi-link.rst create mode 100644 include/sound/hda-mlink.h