ASoC: wm_adsp: Use no_core_startstop to prevent creating preload control
authorSimon Trimmer <simont@opensource.cirrus.com>
Mon, 20 Mar 2023 11:22:39 +0000 (11:22 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 21 Mar 2023 12:13:18 +0000 (12:13 +0000)
The no_core_startstop flag indicates a self-booting DSP - they are
considered to be always running and therefore cannot be pre-loaded.

Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230320112245.115720-3-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wm_adsp.c

index ea0dbc6..854d936 100644 (file)
@@ -1102,8 +1102,10 @@ int wm_adsp2_component_probe(struct wm_adsp *dsp, struct snd_soc_component *comp
 {
        char preload[32];
 
-       snprintf(preload, ARRAY_SIZE(preload), "%s Preload", dsp->cs_dsp.name);
-       snd_soc_component_disable_pin(component, preload);
+       if (!dsp->cs_dsp.no_core_startstop) {
+               snprintf(preload, ARRAY_SIZE(preload), "%s Preload", dsp->cs_dsp.name);
+               snd_soc_component_disable_pin(component, preload);
+       }
 
        cs_dsp_init_debugfs(&dsp->cs_dsp, component->debugfs_root);