ASoC: SOF: Add a tuples array to struct snd_sof_widget

Add 2 new fields to snd_sof_widget to store an array of tuples
defined by struct snd_sof_tuple and the number of tuples. When the
topology gets parsed, the tuples associated with a widget will be stored
in this array and will be used to construct the IPC structure
depending on the IPC version.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220308164344.577647-14-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Ranjani Sridharan 2022-03-08 08:43:39 -08:00 committed by Mark Brown
parent 2b4b383f85
commit c7b655ade9
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -30,6 +30,18 @@
#define WIDGET_IS_DAI(id) ((id) == snd_soc_dapm_dai_in || (id) == snd_soc_dapm_dai_out)
/** struct snd_sof_tuple - Tuple info
* @token: Token ID
* @value: union of a string or a u32 values
*/
struct snd_sof_tuple {
u32 token;
union {
u32 v;
const char *s;
} value;
};
/* PCM stream, mapped to FW component */
struct snd_sof_pcm_stream {
u32 comp_id;
@ -112,6 +124,9 @@ struct snd_sof_widget {
const guid_t uuid;
int num_tuples;
struct snd_sof_tuple *tuples;
void *private; /* core does not touch this */
};