This patch series majorly consists of below changes. - Rename structures, macros and codec helper names used in Intel SoundWire generic driver to make it generic. - Move Intel SoundWire driver common structures, macros and codec helper functions to common placeholder so that it can be used by other platform machine driver. - Refactor few SoundWire common codec helper functions. - AMD SOF based generic SoundWire machine driver for ACP 6.3 variant.
This work started a couple of months ago to avoid duplication of code that wasn't really Intel-specific in the "sof_sdw" machine driver. The code went through multiple iterations, was tested for multiple weeks and a couple of build issues reported by the Intel kbuild bots were corrected.
This is the initial version of SoundWire machine driver for AMD platforms. Additional code refactoring will be done in the next step on the AMD side.
Link: https://github.com/thesofproject/linux/pull/5068 Reviewed-by: Bard Liao yung-chuan.liao@linux.intel.com Reviewed-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com
Vijendar Mukunda (31): ASoC: intel: rename codec_info and dai_info structures names ASoC: intel: rename soundwire common header macros ASoC: intel: rename soundwire machine driver soc ops ASoC: intel: rename soundwire codec helper functions ASoC: intel: rename maxim codec macros ASoC: intel: rename ignore_pch_dmic variable name ASoC: intel/sdw-utils: move soundwire machine driver soc ops ASoC: intel: move soundwire machine driver common structures ASoC: intel/sdw_utils: move soundwire machine driver helper functions ASoC: intel/sdw_utils: move dmic codec helper function ASoC: intel/sdw_utils: move rtk dmic helper functions ASoC: intel/sdw_utils: move rt712 sdca helper functions ASoC: intel/sdw_utils: move rt722 sdca helper functions ASoC: intel: split soundwire machine driver private data ASoC: intel/sdw_utils: move rt5682 codec helper function ASoC: intel/sdw_utils: move rtk jack common helper functions ASoC: intel/sdw_utils: move rt700 and rt711 codec helper functions ASoC: intel/sdw_utils: move rtk amp codec helper functions ASoC: intel/sdw_utils: move cirrus soundwire codec helper functions ASoC: intel/sdw_utils: move maxim codec helper functions ASoC: intel/sdw_utils: move dai id common macros ASoC: intel/sdw_utils: move soundwire dai type macros ASoC: intel/sdw_utils: move soundwire codec_info_list structure ASoC: intel/sdw_utils: move machine driver dai link helper functions ASoC: sdw_utils: refactor sof_sdw_card_late_probe function ASoC: intel/sdw_utils: refactor init_dai_link() and init_simple_dai_link() ASoC: soc-acpi: add pci revision id field in mach params structure ASoC: amd: acp: add soundwire machines for acp6.3 based platform ASoC: SOF: amd: add alternate machines for acp6.3 based platform ASoC: SOF: amd: update mach params subsystem_rev variable ASoC: amd/sdw_utils: add sof based soundwire generic machine driver
include/sound/soc-acpi.h | 2 + include/sound/soc_sdw_utils.h | 216 ++++ sound/soc/Kconfig | 2 + sound/soc/Makefile | 1 + sound/soc/amd/acp/Kconfig | 22 + sound/soc/amd/acp/Makefile | 4 + sound/soc/amd/acp/acp-sdw-sof-mach.c | 742 +++++++++++ sound/soc/amd/acp/amd-acp63-acpi-match.c | 90 ++ sound/soc/amd/acp/soc_amd_sdw_common.h | 44 + sound/soc/amd/mach-config.h | 1 + sound/soc/intel/boards/Kconfig | 1 + sound/soc/intel/boards/Makefile | 9 - sound/soc/intel/boards/sof_sdw.c | 1142 ++--------------- sound/soc/intel/boards/sof_sdw_common.h | 166 +-- sound/soc/intel/boards/sof_sdw_hdmi.c | 14 +- sound/soc/sdw_utils/Kconfig | 6 + sound/soc/sdw_utils/Makefile | 11 + .../soc_sdw_bridge_cs35l56.c} | 56 +- .../soc_sdw_cs42l42.c} | 13 +- .../soc_sdw_cs42l43.c} | 38 +- .../soc_sdw_cs_amp.c} | 18 +- .../soc_sdw_dmic.c} | 10 +- .../soc_sdw_maxim.c} | 56 +- .../soc_sdw_rt5682.c} | 12 +- .../soc_sdw_rt700.c} | 12 +- .../soc_sdw_rt711.c} | 38 +- .../soc_sdw_rt712_sdca.c} | 10 +- .../soc_sdw_rt722_sdca.c} | 10 +- .../soc_sdw_rt_amp.c} | 32 +- .../soc_sdw_rt_amp_coeff_tables.h} | 6 +- .../soc_sdw_rt_dmic.c} | 11 +- .../soc_sdw_rt_sdca_jack_common.c} | 40 +- sound/soc/sdw_utils/soc_sdw_utils.c | 990 ++++++++++++++ sound/soc/sof/amd/Kconfig | 1 + sound/soc/sof/amd/acp-common.c | 3 + sound/soc/sof/amd/acp.c | 1 + sound/soc/sof/amd/acp.h | 1 + sound/soc/sof/amd/pci-acp63.c | 1 + 38 files changed, 2475 insertions(+), 1357 deletions(-) create mode 100644 include/sound/soc_sdw_utils.h create mode 100644 sound/soc/amd/acp/acp-sdw-sof-mach.c create mode 100644 sound/soc/amd/acp/amd-acp63-acpi-match.c create mode 100644 sound/soc/amd/acp/soc_amd_sdw_common.h create mode 100644 sound/soc/sdw_utils/Kconfig create mode 100644 sound/soc/sdw_utils/Makefile rename sound/soc/{intel/boards/bridge_cs35l56.c => sdw_utils/soc_sdw_bridge_cs35l56.c} (63%) rename sound/soc/{intel/boards/sof_sdw_cs42l42.c => sdw_utils/soc_sdw_cs42l42.c} (82%) rename sound/soc/{intel/boards/sof_sdw_cs42l43.c => sdw_utils/soc_sdw_cs42l43.c} (73%) rename sound/soc/{intel/boards/sof_sdw_cs_amp.c => sdw_utils/soc_sdw_cs_amp.c} (66%) rename sound/soc/{intel/boards/sof_sdw_dmic.c => sdw_utils/soc_sdw_dmic.c} (71%) rename sound/soc/{intel/boards/sof_sdw_maxim.c => sdw_utils/soc_sdw_maxim.c} (63%) rename sound/soc/{intel/boards/sof_sdw_rt5682.c => sdw_utils/soc_sdw_rt5682.c} (82%) rename sound/soc/{intel/boards/sof_sdw_rt700.c => sdw_utils/soc_sdw_rt700.c} (81%) rename sound/soc/{intel/boards/sof_sdw_rt711.c => sdw_utils/soc_sdw_rt711.c} (70%) rename sound/soc/{intel/boards/sof_sdw_rt712_sdca.c => sdw_utils/soc_sdw_rt712_sdca.c} (74%) rename sound/soc/{intel/boards/sof_sdw_rt722_sdca.c => sdw_utils/soc_sdw_rt722_sdca.c} (68%) rename sound/soc/{intel/boards/sof_sdw_rt_amp.c => sdw_utils/soc_sdw_rt_amp.c} (87%) rename sound/soc/{intel/boards/sof_sdw_amp_coeff_tables.h => sdw_utils/soc_sdw_rt_amp_coeff_tables.h} (97%) rename sound/soc/{intel/boards/sof_sdw_rt_dmic.c => sdw_utils/soc_sdw_rt_dmic.c} (70%) rename sound/soc/{intel/boards/sof_sdw_rt_sdca_jack_common.c => sdw_utils/soc_sdw_rt_sdca_jack_common.c} (78%) create mode 100644 sound/soc/sdw_utils/soc_sdw_utils.c