[v2,2/2] ASoC: SOF: topology: set trigger order for FE DAI link
diff mbox series

Message ID 20191104224812.3393-3-ranjani.sridharan@linux.intel.com
State New
Headers show
Series
  • Update FE/BE trigger order based on the command
Related show

Commit Message

Ranjani Sridharan Nov. 4, 2019, 10:48 p.m. UTC
Set trigger order for FE DAI links to SND_SOC_DPCM_TRIGGER_POST
to trigger the BE DAI's before the FE DAI's. This prevents the
xruns seen on playback pipelines using the link DMA.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/sof/topology.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Jaroslav Kysela Nov. 18, 2019, 10:44 p.m. UTC | #1
Dne 04. 11. 19 v 23:48 Ranjani Sridharan napsal(a):
> Set trigger order for FE DAI links to SND_SOC_DPCM_TRIGGER_POST
> to trigger the BE DAI's before the FE DAI's. This prevents the
> xruns seen on playback pipelines using the link DMA.
> 
> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
> ---
>   sound/soc/sof/topology.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
> index e0e2ae734632..e7076692119b 100644
> --- a/sound/soc/sof/topology.c
> +++ b/sound/soc/sof/topology.c
> @@ -2951,6 +2951,10 @@ 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;
> +
>   		/* nothing more to do for FE dai links */
>   		return 0;
>   	}
> 

It seems that this patch breaks the signed 1.3 firmware. Tested on Lenovo 
Carbon X1 7th gen.

https://github.com/thesofproject/sof/issues/2102

					Jaroslav

Patch
diff mbox series

diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
index e0e2ae734632..e7076692119b 100644
--- a/sound/soc/sof/topology.c
+++ b/sound/soc/sof/topology.c
@@ -2951,6 +2951,10 @@  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;
+
 		/* nothing more to do for FE dai links */
 		return 0;
 	}