On 2019/11/19 上午6:44, Jaroslav Kysela wrote:
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
Also met this problem, this patch is merged to 5.4 stable kernel, when I run the 5.4 stable kernel on the Lenovo Carbon x1 7th gen or Dell Dmic machines, the sof driver will print error logs repeatedly and the sof fails to work. I tried with both 1.3 and 1.4 firmware. If I reverted this patch from 5.4 stable kernel, the sof driver will work with both 1.3 and 1.4 firmware.
I also tried the 5.5-rc1 kernel, this kernel already includes this patch, but there is no issue for this kernel, the sof driver works well. So looks like only backport this patch to 5.4 stable kernel is not enough, either we revert this patch or we backport more patches to 5.4 stable kernel.