diff options
author | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 2024-02-13 13:12:37 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-02-13 16:28:55 +0300 |
commit | 426476344f01096c7dae6c5413cc8a8d9bbdea29 (patch) | |
tree | 31c2d8b906a7419d9006504f88a77707e13024d0 /sound/soc/sof/ipc4-priv.h | |
parent | a5b7767723e739c700f5c56841790a85bd7f13ae (diff) | |
download | linux-426476344f01096c7dae6c5413cc8a8d9bbdea29.tar.xz |
ASoC: SOF: ipc4: store number of playback/capture streams
The CHAIN_DMA IPC needs the number of playback streams as a start
offset for the dma_id of a capture stream.
This offset can be retrieved on Intel platforms from the GCAP
information, and stored in the sof_ipc4_fw_data structure.
One could argue that the fields added are not really dependent on any
firmware definitions but rather on hardware capabilities, but they are
required for the IPC CHAIN_DMA definitions so adding them in
ipc4_fw_data isn't completely silly.
The CHAIN_DMA IPC is currently only functional on Intel HDaudio DMAs,
and gated by the snd_sof_is_chain_dma_supported() helper.
Signed-off-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>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://msgid.link/r/20240213101247.28887-6-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/sof/ipc4-priv.h')
-rw-r--r-- | sound/soc/sof/ipc4-priv.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/sof/ipc4-priv.h b/sound/soc/sof/ipc4-priv.h index 1d39836d5efa..f3b908b093f9 100644 --- a/sound/soc/sof/ipc4-priv.h +++ b/sound/soc/sof/ipc4-priv.h @@ -66,6 +66,8 @@ struct sof_ipc4_fw_library { * @nhlt: NHLT table either from the BIOS or the topology manifest * @mtrace_type: mtrace type supported on the booted platform * @mtrace_log_bytes: log bytes as reported by the firmware via fw_config reply + * @num_playback_streams: max number of playback DMAs, needed for CHAIN_DMA offset + * @num_capture_streams: max number of capture DMAs * @max_num_pipelines: max number of pipelines * @max_libs_count: Maximum number of libraries support by the FW including the * base firmware @@ -79,6 +81,8 @@ struct sof_ipc4_fw_data { void *nhlt; enum sof_ipc4_mtrace_type mtrace_type; u32 mtrace_log_bytes; + int num_playback_streams; + int num_capture_streams; int max_num_pipelines; u32 max_libs_count; bool fw_context_save; |