This series uses the abstraction added in past kernel cycles to provide support for the ACE2.x integration. The existing SHIM and Cadence registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some parts also moved to the HDaudio Extended Multi link structures. Nothing fundamentally different except for the register map.
This series only provides the basic mechanisms to expose SoundWire-based DAIs. The PCI parts and DSP management will be contributed later, and the DAI ops are now empty as well.
The change is mainly on SoundWire. It would be better to go through SoundWire tree.
v2: - Some cleanup for free, trigger, hw_params callbacks before introducing ACE2.x callbacks.
Pierre-Louis Bossart (26): ASoC: SOF: Intel: shim: add enum for ACE 2.0 IP used in LunarLake soundwire: intel: add ACE2.x SHIM definitions soundwire: intel_ace2x: add empty new ops for LunarLake soundwire/ASOC: Intel: update offsets for LunarLake soundwire: intel/cadence: set ip_offset at run-time ASoC/soundwire: intel: pass hdac_bus pointer for link management soundwire: intel: add eml_lock in the interface for new platforms ASoC: SOF: Intel: hda: retrieve SoundWire eml_lock and pass pointer soundwire: intel_init: use eml_lock parameter soundwire: intel_ace2x: add debugfs support soundwire: intel_ace2x: add link power-up/down helpers soundwire: intel_ace2x: set SYNCPRD before powering-up soundwire: intel_ace2x: configure link PHY soundwire: intel_ace2x: add DAI registration soundwire: intel_ace2x: add sync_arm/sync_go helpers soundwire: intel_ace2x: use common helpers for bus start/stop soundwire: intel_ace2x: enable wake support soundwire: intel_ace2x: add check_cmdsync_unlocked helper soundwire: bus: add new manager callback to deal with peripheral enumeration soundwire: intel_ace2x: add new_peripheral_assigned callback soundwire: intel_ace2x: add pre/post bank switch callbacks ASoC: SOF/soundwire: re-add substream in params_stream structure soundwire: intel: remove .trigger callback implementation soundwire: intel: use substream for .trigger callback soundwire: intel: remove .free callback implementation soundwire: intel: use substream for .free callback
drivers/soundwire/Makefile | 3 +- drivers/soundwire/bus.c | 3 + drivers/soundwire/cadence_master.h | 2 + drivers/soundwire/intel.c | 54 +--- drivers/soundwire/intel.h | 16 + drivers/soundwire/intel_ace2x.c | 393 ++++++++++++++++++++++++ drivers/soundwire/intel_ace2x_debugfs.c | 147 +++++++++ drivers/soundwire/intel_auxdevice.c | 17 + drivers/soundwire/intel_init.c | 21 +- include/linux/soundwire/sdw.h | 3 +- include/linux/soundwire/sdw_intel.h | 94 +++++- sound/soc/sof/intel/hda.c | 33 +- sound/soc/sof/intel/shim.h | 1 + 13 files changed, 723 insertions(+), 64 deletions(-) create mode 100644 drivers/soundwire/intel_ace2x.c create mode 100644 drivers/soundwire/intel_ace2x_debugfs.c