From: Jyri Sarha Date: Mon, 12 Jan 2026 11:32:19 +0000 (+0200) Subject: ASoC: sof: Add domain_id, heap_bytes and stack_bytes to snd_sof_widget X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=854d4389f20f07b646981ebb1ef44b7503658e9c;p=thirdparty%2Fkernel%2Flinux.git ASoC: sof: Add domain_id, heap_bytes and stack_bytes to snd_sof_widget Add dp_domain_id, dp_heap_bytes and dp_stack_bytes to struct snd_sof_widget and fill the values from topology tuples with SOF_TKN_COMP_DOMAIN_ID, SOF_TKN_COMP_STACK_BYTES_REQUIREMENT and SOF_TKN_COMP_HEAP_BYTES_REQUIREMENT tokens. Signed-off-by: Jyri Sarha Reviewed-by: Ranjani Sridharan Reviewed-by: Guennadi Liakhovetski Reviewed-by: Péter Ujfalusi Signed-off-by: Peter Ujfalusi Link: https://patch.msgid.link/20260112113221.4442-3-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/sof/ipc4-topology.c b/sound/soc/sof/ipc4-topology.c index 479772dc466a8..a14023c4c3e78 100644 --- a/sound/soc/sof/ipc4-topology.c +++ b/sound/soc/sof/ipc4-topology.c @@ -158,6 +158,12 @@ static const struct sof_topology_token comp_ext_tokens[] = { offsetof(struct snd_sof_widget, core)}, {SOF_TKN_COMP_SCHED_DOMAIN, SND_SOC_TPLG_TUPLE_TYPE_STRING, get_token_comp_domain, offsetof(struct snd_sof_widget, comp_domain)}, + {SOF_TKN_COMP_DOMAIN_ID, SND_SOC_TPLG_TUPLE_TYPE_WORD, get_token_u32, + offsetof(struct snd_sof_widget, dp_domain_id)}, + {SOF_TKN_COMP_HEAP_BYTES_REQUIREMENT, SND_SOC_TPLG_TUPLE_TYPE_WORD, get_token_u32, + offsetof(struct snd_sof_widget, dp_heap_bytes)}, + {SOF_TKN_COMP_STACK_BYTES_REQUIREMENT, SND_SOC_TPLG_TUPLE_TYPE_WORD, get_token_u32, + offsetof(struct snd_sof_widget, dp_stack_bytes)}, }; static const struct sof_topology_token gain_tokens[] = { diff --git a/sound/soc/sof/sof-audio.h b/sound/soc/sof/sof-audio.h index a8b93a2eec9c8..03c8dd29e0711 100644 --- a/sound/soc/sof/sof-audio.h +++ b/sound/soc/sof/sof-audio.h @@ -454,6 +454,11 @@ struct snd_sof_widget { /* Scheduling domain (enum sof_comp_domain), unset, Low Latency, or Data Processing */ u32 comp_domain; + /* The values below are added to mod_init pay load if comp_domain indicates DP component */ + u32 dp_domain_id; /* DP process userspace domain ID */ + u32 dp_stack_bytes; /* DP process stack size requirement in bytes */ + u32 dp_heap_bytes; /* DP process heap size requirement in bytes */ + struct snd_soc_dapm_widget *widget; struct list_head list; /* list in sdev widget list */ struct snd_sof_pipeline *spipe;