[alsa-devel] [PATCH] ASoC: SOF - topology - do not change the link triger order for old firmare
Jaroslav Kysela
perex at perex.cz
Fri Nov 22 09:38:00 CET 2019
BugLink: https://github.com/thesofproject/sof/issues/2102
Signed-off-by: Jaroslav Kysela <perex at perex.cz>
Cc: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
Cc: Mark Brown <broonie at kernel.org>
---
sound/soc/sof/topology.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
index 143b8259a70a..d24268794a03 100644
--- a/sound/soc/sof/topology.c
+++ b/sound/soc/sof/topology.c
@@ -2935,6 +2935,7 @@ static int sof_link_load(struct snd_soc_component *scomp, int index,
struct snd_soc_tplg_private *private = &cfg->priv;
struct sof_ipc_dai_config config;
struct snd_soc_tplg_hw_config *hw_config;
+ struct sof_ipc_fw_version *v = &sdev->fw_ready.version;
int num_hw_configs;
int ret;
int i = 0;
@@ -2952,9 +2953,12 @@ static int sof_link_load(struct snd_soc_component *scomp, int index,
if (!link->no_pcm) {
link->nonatomic = true;
- /* set trigger order */
- link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST;
- link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST;
+ /* this causes DSP panic on firmware v1.3 */
+ if (SOF_ABI_VER(v->major, v->minor, v->micro) > SOF_ABI_VER(3, 7, 0)) {
+ /* set trigger order */
+ link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST;
+ link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST;
+ }
/* nothing more to do for FE dai links */
return 0;
--
2.20.1
More information about the Alsa-devel
mailing list