mbox series

[00/19] Make the SOF control, PCM and PM code IPC agnostic

Message ID 20220317175044.1752400-1-ranjani.sridharan@linux.intel.com
Headers show
Series Make the SOF control, PCM and PM code IPC agnostic | expand

Message

Ranjani Sridharan March 17, 2022, 5:50 p.m. UTC
This series is a continuation to the SOF IPC abstraction work to support
the new IPC version introduced in the SOF firmware. It makes the top-level
control IO, PCM and PM code IPC-agnostic. Other than the first patch,
the rest are purely for abstraction and include no changes in
functionality.

Ranjani Sridharan (19):
  ASoC: SOF: set up scheduler widget before all other widgets in the
    pipeline
  ASoC: SOF: Make sof_widget_setup/free IPC agnostic
  ASoC: SOF: Make sof_suspend/resume IPC agnostic
  ASoC: SOF: Introduce IPC ops for kcontrol IO
  ASoC: SOF: Add IPC3 topology control ops
  ASoC: SOF: Add volume_get/put IPC3 ops
  ASoC: SOF: Add switch get/put IPC3 ops
  ASoC: SOF: Add enum_get/put control ops for IPC3
  ASoC: SOF: Add bytes_get/put control IPC ops for IPC3
  ASoC: SOF: Add bytes_ext control IPC ops for IPC3
  ASoC: SOF: Introduce IPC-specific PCM ops
  ASoC: SOF: pcm: expose the sof_pcm_setup_connected_widgets() function
  ASoC: SOF: Introduce IPC3 PCM hw_free op
  ASoC: SOF: Define hw_params PCM op for IPC3
  ASoC: SOF: Add trigger PCM op for IPC3
  ASoC: SOF: Add dai_link_fixup PCM op for IPC3
  ASoC: SOF: expose sof_route_setup()
  ASoC: SOF: topology: Add ops for setting up and tearing down pipelines
  ASoC: SOF: Add a new dai_get_clk topology IPC op

 sound/soc/sof/Makefile        |   2 +-
 sound/soc/sof/control.c       | 545 ++++---------------------------
 sound/soc/sof/intel/hda-dai.c |  97 +-----
 sound/soc/sof/intel/hda.c     | 169 +++-------
 sound/soc/sof/intel/hda.h     |   7 +-
 sound/soc/sof/ipc.c           |  10 +-
 sound/soc/sof/ipc3-control.c  | 594 ++++++++++++++++++++++++++++++++++
 sound/soc/sof/ipc3-ops.h      |  21 ++
 sound/soc/sof/ipc3-pcm.c      | 372 +++++++++++++++++++++
 sound/soc/sof/ipc3-topology.c | 384 +++++++++++++++++++++-
 sound/soc/sof/ipc3.c          |  45 +++
 sound/soc/sof/pcm.c           | 354 +++-----------------
 sound/soc/sof/pm.c            |  80 ++---
 sound/soc/sof/sof-audio.c     | 442 +++++--------------------
 sound/soc/sof/sof-audio.h     |  70 +++-
 sound/soc/sof/sof-priv.h      |  17 +-
 sound/soc/sof/topology.c      |  55 ++--
 17 files changed, 1805 insertions(+), 1459 deletions(-)
 create mode 100644 sound/soc/sof/ipc3-control.c
 create mode 100644 sound/soc/sof/ipc3-ops.h
 create mode 100644 sound/soc/sof/ipc3-pcm.c
 create mode 100644 sound/soc/sof/ipc3.c

Comments

Mark Brown March 18, 2022, 8:57 p.m. UTC | #1
On Thu, 17 Mar 2022 10:50:25 -0700, Ranjani Sridharan wrote:
> This series is a continuation to the SOF IPC abstraction work to support
> the new IPC version introduced in the SOF firmware. It makes the top-level
> control IO, PCM and PM code IPC-agnostic. Other than the first patch,
> the rest are purely for abstraction and include no changes in
> functionality.
> 
> Ranjani Sridharan (19):
>   ASoC: SOF: set up scheduler widget before all other widgets in the
>     pipeline
>   ASoC: SOF: Make sof_widget_setup/free IPC agnostic
>   ASoC: SOF: Make sof_suspend/resume IPC agnostic
>   ASoC: SOF: Introduce IPC ops for kcontrol IO
>   ASoC: SOF: Add IPC3 topology control ops
>   ASoC: SOF: Add volume_get/put IPC3 ops
>   ASoC: SOF: Add switch get/put IPC3 ops
>   ASoC: SOF: Add enum_get/put control ops for IPC3
>   ASoC: SOF: Add bytes_get/put control IPC ops for IPC3
>   ASoC: SOF: Add bytes_ext control IPC ops for IPC3
>   ASoC: SOF: Introduce IPC-specific PCM ops
>   ASoC: SOF: pcm: expose the sof_pcm_setup_connected_widgets() function
>   ASoC: SOF: Introduce IPC3 PCM hw_free op
>   ASoC: SOF: Define hw_params PCM op for IPC3
>   ASoC: SOF: Add trigger PCM op for IPC3
>   ASoC: SOF: Add dai_link_fixup PCM op for IPC3
>   ASoC: SOF: expose sof_route_setup()
>   ASoC: SOF: topology: Add ops for setting up and tearing down pipelines
>   ASoC: SOF: Add a new dai_get_clk topology IPC op
> 
> [...]

Applied to

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

Thanks!

[01/19] ASoC: SOF: set up scheduler widget before all other widgets in the pipeline
        commit: 40c2c63ac40d26bb0b8e17ada32e84541363f1b0
[02/19] ASoC: SOF: Make sof_widget_setup/free IPC agnostic
        commit: 051744b1bf0b13f63af5de3c296d04ab0cc6117c
[03/19] ASoC: SOF: Make sof_suspend/resume IPC agnostic
        commit: 657774acd00f3d63ebae06e5d15a74e013cee0ed
[04/19] ASoC: SOF: Introduce IPC ops for kcontrol IO
        commit: a0149a6bf0b4969a7f732528b2fb6ce32c309dfc
[05/19] ASoC: SOF: Add IPC3 topology control ops
        commit: 10f461d79c2d1afb22344986cc1b4631169cf25e
[06/19] ASoC: SOF: Add volume_get/put IPC3 ops
        commit: 838d04f3e232c3fb8c421959e8ff09e3a918011e
[07/19] ASoC: SOF: Add switch get/put IPC3 ops
        commit: a6668746436824c46b54b3f7fd72523f05f089eb
[08/19] ASoC: SOF: Add enum_get/put control ops for IPC3
        commit: 049307aad2a355f7b44736eeb5795d6d4499fd12
[09/19] ASoC: SOF: Add bytes_get/put control IPC ops for IPC3
        commit: 544ac8858f249950b4d99c68e538cdc07300528f
[10/19] ASoC: SOF: Add bytes_ext control IPC ops for IPC3
        commit: 67ec2a091630c28ea8d05db2bd7178a05b04b7e6
[11/19] ASoC: SOF: Introduce IPC-specific PCM ops
        commit: 967885ee45e48b669e0904a38f6aeb1a09b0d9a1
[12/19] ASoC: SOF: pcm: expose the sof_pcm_setup_connected_widgets() function
        commit: 442c7128219b1769af5685c5453b13711f6b84e2
[13/19] ASoC: SOF: Introduce IPC3 PCM hw_free op
        commit: 4123c24bd13caa8ff633d9e17fa2089d53b1f766
[14/19] ASoC: SOF: Define hw_params PCM op for IPC3
        commit: 621fd48c8cc8d77101a3ac69f7f058d3f8afdbcc
[15/19] ASoC: SOF: Add trigger PCM op for IPC3
        commit: beac3f4cb66fa05e902768ae75ea691c4a2c0911
[16/19] ASoC: SOF: Add dai_link_fixup PCM op for IPC3
        commit: b243b437f4c46b09ec26fc02bea610ace4b45aa2
[17/19] ASoC: SOF: expose sof_route_setup()
        commit: 3816bbea644202fd0a8410e54dbc30bd93f3292c
[18/19] ASoC: SOF: topology: Add ops for setting up and tearing down pipelines
        commit: 31cd6e469364c42c9c929750991c51e83a95e80b
[19/19] ASoC: SOF: Add a new dai_get_clk topology IPC op
        commit: 85f7a8b6e1bea0ad494fb786a5dd7d9715a976d2

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