mbox series

[RESEND,00/31] AMD SOF based generic SoundWire machine driver

Message ID 20240801091446.10457-1-Vijendar.Mukunda@amd.com
Headers show
Series AMD SOF based generic SoundWire machine driver | expand

Message

Vijendar Mukunda Aug. 1, 2024, 9:14 a.m. UTC
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