[PATCH v4 00/16] ASoC: amd: acp: ACP7.B/7.F SoundWire machine driver support

From: Vijendar Mukunda

Date: Fri Oct 30 2026 - 05:50:16 EST


This series adds SoundWire machine driver support for ACP7.B and ACP7.F
platforms. It extends the existing AMD ACP SoundWire infrastructure with
per-platform CPU pin ID lookup, PDM controller selection via ACPI and DMI
quirks, DMIC DAI link and components string handling, PCI subsystem ID
propagation, and ACPI machine tables for RT721/RT722/RT1320 codec
configurations on both platforms.

Changes in v4:
- Patch 1: fix missing asoc_sdw_mc_dailink_exit_loop() cleanup on
devm_kasprintf() failure in acp-sdw-sof-mach.c mc_probe() (new).
- Patch 2: fix missing asoc_sdw_mc_dailink_exit_loop() cleanup on
both devm_kasprintf() failure paths in acp-sdw-legacy-mach.c
mc_probe(); update commit message to reference the correct function
name soc_card_dai_links_create() instead of sof_card_dai_links_create()
(new).
- Patch 3: remove unused ACP63_SDW_MAX_CPU_DAIS define (new).
- Patch 5 (was 2): add comments above ACP7X_SW_AUDIO* define block
and get_acp7x_cpu_pin_id() to document the dedicated per-port DMA
layout and the port-to-use-case mapping.
- Patch 9 (was 6): replace misleading "No functional change" claim
with an accurate description of the behavioural change for platforms
where ignore_internal_dmic is true (dmic_num now stays zero at the
gate rather than reaching the dmic_num > 0 block).

Changes in v3:
- Patch 3: update subject and changelog to accurately describe the new
PDM controller selection infrastructure being added.
- Patch 5: fix commit subject prefix from "amd: acp7x:" to "amd: acp:"
since the change is in the generic ACP SoundWire machine driver
(acp-sdw-sof-mach.c), not the ACP7x-specific SOF driver.

Changes in v2:
- Patch 6: simplify the DMIC enable condition as suggested by Pierre:
evaluate the three-way boolean once and nest the ignore_internal_dmic
check inside, avoiding the double-tested condition from v1.

Vijendar Mukunda (16):
ASoC: amd: acp: fix missing cleanup on devm_kasprintf() failure in
mc_probe()
ASoC: amd: acp: fix missing cleanup on devm_kasprintf() failure in
legacy SDW machine driver
ASoC: amd: sdw: remove unused ACP63_SDW_MAX_CPU_DAIS define
ASoC: amd: acp: add ACP7.B/7.F SoundWire link count for machine driver
ASoC: amd: acp: add ACP7.B/7.F SoundWire DAI link support
ASoC: amd: acp: add PDM controller selection for ACP7.B/7.F SoundWire
machine driver
ASoC: amd: acp: log ASOC_SDW_ACP_DMIC1 quirk in SOF SoundWire machine
driver
ASoC: amd: acp: enable DMIC DAI link based on PDM controller selection
ASoC: amd: acp: move ignore_internal_dmic gate to DMIC enable
condition
ASoC: amd: acp: add DMIC components string for SOF SoundWire machine
driver
ASoC: amd: acp: set PCI subsystem ID for SOF SoundWire machine driver
ASoC: amd: acp: fix MODULE_AUTHOR missing closing angle bracket
ASoC: amd: acp: add ACPI machine tables for ACP7.F SoundWire
ASoC: SOF: amd: add alt_machines for ACP7.F SOF SoundWire
ASoC: amd: acp: add SoundWire machine table for ACP7.B platform
ASoC: SOF: amd: register SoundWire alt_machines for ACP7.B

sound/soc/amd/acp/Makefile | 2 +-
sound/soc/amd/acp/acp-sdw-legacy-mach.c | 8 +-
sound/soc/amd/acp/acp-sdw-mach-common.c | 48 ++++++
sound/soc/amd/acp/acp-sdw-sof-mach.c | 109 +++++++++++--
sound/soc/amd/acp/amd-acp7x-acpi-match.c | 198 +++++++++++++++++++++++
sound/soc/amd/acp/soc_amd_sdw_common.h | 45 +++++-
sound/soc/amd/mach-config.h | 2 +
sound/soc/sof/amd/pci-acp7x.c | 2 +
8 files changed, 396 insertions(+), 18 deletions(-)
create mode 100644 sound/soc/amd/acp/amd-acp7x-acpi-match.c

--
2.53.0