[PATCH v2 00/26] ASoC/soundwire: add support for ACE2.x

From: Bard Liao
Date: Mon May 15 2023 - 02:50:26 EST

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.

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