No description
Find a file
Ranjani Sridharan 66344c6d92
ASoC: SOF: Add a prepare op to IPC topology widget ops
In order to set up a pipeline with IPC4, the total memory usage for the
pipeline needs to be calculated based on the list of connected widgets.
Add a new ipc_prepare() op to struct sof_ipc_tplg_widget_ops that will be
used to calculate the memory usage for each widget in the pipelines
associated with a PCM and prepare the widget for getting set up in the
DSP. The prepare step will be used to allocate memory for the IPC
payload, assign instance ID and update the config data for the widget
based on the runtime PCM params. Once prepared, the setup step is used
to send the IPC to create the widget in the DSP.

Add an ipc_unprepare() op to unprepare the widget i.e free the memory
allocated during prepare, free the instance ID etc. This should be
invoked after the widget is freed.

A new flag "prepared" is added to struct snd_sof_widget to track the
prepared status of widgets.

Also, IPC4 requires the platform_params and the runtime PCM params in
order to prepare a widget for set up. So modify the signature of
sof_pcm_setup_connected_widgets() and sof_widget_list_setup() to accept
these as arguments.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20220426171743.171061-12-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-04-29 13:06:05 +01:00
arch ARM: configs: Update multi_v5_defconfig for WM8731 bus refactoring 2022-04-04 08:39:35 +01:00
block for-5.18/block-2022-04-01 2022-04-01 16:20:00 -07:00
certs
crypto
Documentation ASoC: dt-bindings: max98396: add amplifier driver 2022-04-26 15:13:41 +01:00
drivers ASoC: fsl_micfil: Driver updates 2022-04-20 14:22:03 +01:00
fs Updates to Tracing: 2022-04-03 12:26:01 -07:00
include ALSA: hda: intel-nhlt: Move structs out of #define block 2022-04-27 14:15:32 +01:00
init
ipc
kernel Updates to Tracing: 2022-04-03 12:26:01 -07:00
lib for-5.18/block-2022-04-01 2022-04-01 16:20:00 -07:00
LICENSES
mm Filesystem/VFS changes for 5.18, part two 2022-04-01 13:50:50 -07:00
net
samples
scripts modpost: restore the warning message for missing symbol versions 2022-04-03 03:11:51 +09:00
security
sound ASoC: SOF: Add a prepare op to IPC topology widget ops 2022-04-29 13:06:05 +01:00
tools A set of x86 fixes and updates: 2022-04-03 12:15:47 -07:00
usr
virt KVM: Remove dirty handling from gfn_to_pfn_cache completely 2022-04-02 05:34:41 -04:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap mailmap: update Kirill's email 2022-04-01 11:46:09 -07:00
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS ASoC: dt-bindings: cs35l45: Cirrus Logic CS35L45 Smart Amp 2022-04-05 18:27:58 +01:00
Makefile Linux 5.18-rc1 2022-04-03 14:08:21 -07:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.