summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorDaniel Baluta <daniel.baluta@nxp.com>2022-07-12 16:15:29 +0200
committerMark Brown <broonie@kernel.org>2022-07-12 16:22:07 +0200
commit3f70c360d484466da7420f395d4675ca02436e32 (patch)
tree2ad6d8938e3fbac6fe6e55be2b8d023409b72195 /include/sound
parentASoC: SOF: compress: Dynamically allocate pcm params struct (diff)
downloadlinux-3f70c360d484466da7420f395d4675ca02436e32.tar.xz
linux-3f70c360d484466da7420f395d4675ca02436e32.zip
ASoC: SOF: Copy compress parameters into extended data
Allocate memory at the end of sof_ipc_stream_params to store snd_compr_params in order to be sent them to SOF firmware. This will help firmware correctly configure codecs parameters. Notice, that we use 2 bytes from the reserved pool in order to store the extended data length. This is compatible with older FWs where there was no extended data. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20220712141531.14599-3-daniel.baluta@oss.nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/sof/stream.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/sound/sof/stream.h b/include/sound/sof/stream.h
index 1db3bbc3e65d..9377113f13e4 100644
--- a/include/sound/sof/stream.h
+++ b/include/sound/sof/stream.h
@@ -86,9 +86,11 @@ struct sof_ipc_stream_params {
uint32_t host_period_bytes;
uint16_t no_stream_position; /**< 1 means don't send stream position */
uint8_t cont_update_posn; /**< 1 means continuous update stream position */
-
- uint8_t reserved[5];
+ uint8_t reserved0;
+ int16_t ext_data_length; /**< 0, means no extended data */
+ uint8_t reserved[2];
uint16_t chmap[SOF_IPC_MAX_CHANNELS]; /**< channel map - SOF_CHMAP_ */
+ uint8_t ext_data[]; /**< extended data */
} __packed;
/* PCM params info - SOF_IPC_STREAM_PCM_PARAMS */