mbox series

[00/13] ASoC: SOF: IPC path handling and fallback support

Message ID 20231129125327.23708-1-peter.ujfalusi@linux.intel.com
Headers show
Series ASoC: SOF: IPC path handling and fallback support | expand

Message

Peter Ujfalusi Nov. 29, 2023, 12:53 p.m. UTC
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

Comments

Mark Brown Nov. 30, 2023, 2:19 p.m. UTC | #1
On Wed, 29 Nov 2023 14:53:14 +0200, Peter Ujfalusi wrote:
> 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.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[01/13] ASoC: SOF: Move sof_of_machine_select() to sof-of-dev.c from sof-audio.c
        commit: 014fdeb0d747304111cfecf93df4407c1a0c80db
[02/13] ASoC: SOF: Move sof_machine_* functions from sof-audio.c to core.c
        commit: 3bc3477915587440035f192c89a1bf9a4360abb3
[03/13] ASoC: SOF: Add placeholder for platform IPC type and path overrides
        commit: 1162d267eabd6392d0d07bc88b75056e88042fc0
[04/13] ASoC: SOF: sof-acpi-dev: Save the default IPC type and path overrides
        commit: a07625dcaf994ab3c5a6a456624719df05ed8ad6
[05/13] ASoC: SOF: sof-of-dev: Save the default IPC type and path overrides
        commit: 396016d56da4ad30fe9ff736e44d9e1457484805
[06/13] ASoC: SOF: sof-pci-dev: Save the default IPC type and path overrides
        commit: 59ddeae037b81303063bcf62b70fb33841b3f89e
[07/13] ASoC: SOF: core: Implement firmware, topology path setup in core
        commit: b1a4ee9fd5a2dfb0f23abe58377f816915ec14ba
[08/13] ASoC: SOF: sof-acpi-dev: Rely on core to create the file paths
        commit: b2b0bba36f0a81743e7143a8801ca75d2238bdac
[09/13] ASoC: SOF: sof-of-dev: Rely on core to create the file paths
        commit: 8616168928f278723fdc3f4d7cd3d611dcdae8f8
[10/13] ASoC: SOF: sof-pci-dev: Rely on core to create the file paths
        commit: 8a83f180abb5b95f524fc9b5eb2291f0e39bed30
[11/13] ASoC: SOF: core: Add helper for initialization of paths, ops
        commit: a5a65437b02df8b842c4620b0b776bcd91ce200a
[12/13] ASoC: SOF: Intel: Do not use resource managed allocation for ipc4_data
        commit: 9b6896538ea71b7c24da1ecb38738a311176f6a8
[13/13] ASoC: SOF: core: Implement IPC version fallback if firmware files are missing
        commit: 6c393ebbd74ad341bcfb4e2d0091b2655fad45d0

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark