Hi,
The main aim of the series is to provide a mechanism to fallback to 'older' IPC versions in case the desired one is missing either a firmware or topology file. It is going to make the life of users and distributions if we are going to start transition existing IPC3 platforms to IPC4 (CAVS2.5) and we might have missed some topology file to convert for example. In that case the kernel will fallback to IPC3 without audio regression.
To be able to support this we needed to change the probe sequence to know the topology filename earlier and check if it is present in the filesystem.
No functional changes for now, the default IPC versions have not been changed.
Regards, Peter --- Peter Ujfalusi (13): ASoC: SOF: Move sof_of_machine_select() to sof-of-dev.c from sof-audio.c ASoC: SOF: Move sof_machine_* functions from sof-audio.c to core.c ASoC: SOF: Add placeholder for platform IPC type and path overrides ASoC: SOF: sof-acpi-dev: Save the default IPC type and path overrides ASoC: SOF: sof-of-dev: Save the default IPC type and path overrides ASoC: SOF: sof-pci-dev: Save the default IPC type and path overrides ASoC: SOF: core: Implement firmware, topology path setup in core ASoC: SOF: sof-acpi-dev: Rely on core to create the file paths ASoC: SOF: sof-of-dev: Rely on core to create the file paths ASoC: SOF: sof-pci-dev: Rely on core to create the file paths ASoC: SOF: core: Add helper for initialization of paths, ops ASoC: SOF: Intel: Do not use resource managed allocation for ipc4_data ASoC: SOF: core: Implement IPC version fallback if firmware files are missing
include/sound/sof.h | 15 ++ sound/soc/sof/Kconfig | 11 ++ sound/soc/sof/Makefile | 3 +- sound/soc/sof/core.c | 289 +++++++++++++++++++++++----- sound/soc/sof/fw-file-profile.c | 322 ++++++++++++++++++++++++++++++++ sound/soc/sof/intel/apl.c | 2 +- sound/soc/sof/intel/cnl.c | 2 +- sound/soc/sof/intel/hda-dai.c | 3 + sound/soc/sof/intel/icl.c | 2 +- sound/soc/sof/intel/lnl.c | 2 +- sound/soc/sof/intel/mtl.c | 2 +- sound/soc/sof/intel/skl.c | 2 +- sound/soc/sof/intel/tgl.c | 2 +- sound/soc/sof/sof-acpi-dev.c | 16 +- sound/soc/sof/sof-audio.c | 120 ------------ sound/soc/sof/sof-of-dev.c | 36 +++- sound/soc/sof/sof-of-dev.h | 9 + sound/soc/sof/sof-pci-dev.c | 102 ++-------- sound/soc/sof/sof-priv.h | 9 +- 19 files changed, 671 insertions(+), 278 deletions(-) create mode 100644 sound/soc/sof/fw-file-profile.c