From: Kuninori Morimoto Date: Thu, 28 Aug 2025 02:22:02 +0000 (+0000) Subject: ASoC: renesas: msiof: start DMAC first X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=edb5c1f885207d1d74e8a1528e6937e02829ee6e;p=users%2Fhch%2Fmisc.git ASoC: renesas: msiof: start DMAC first MSIOF needs to start DMAC before starting HW. It will get unknown error at 1st using without this patch. Playback: FSERR = 0, FOVF = 0, FUDF = 1 Capture: FSERR = 1, FOVF = 0, FUDF = 0 Signed-off-by: Kuninori Morimoto Message-ID: <87cy8guqwl.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown --- diff --git a/sound/soc/renesas/rcar/msiof.c b/sound/soc/renesas/rcar/msiof.c index 90ca3357392e..77e1dadec14d 100644 --- a/sound/soc/renesas/rcar/msiof.c +++ b/sound/soc/renesas/rcar/msiof.c @@ -136,6 +136,9 @@ static int msiof_hw_start(struct snd_soc_component *component, priv->err_ovf[substream->stream] = priv->err_udf[substream->stream] = 0; + /* Start DMAC */ + snd_dmaengine_pcm_trigger(substream, cmd); + /* SITMDRx */ if (is_play) { val = SITMDR1_PCON | @@ -186,9 +189,6 @@ static int msiof_hw_start(struct snd_soc_component *component, val = SICTR_RXE | SICTR_REDG; msiof_update_and_wait(priv, SICTR, val, val, val); - /* Start DMAC */ - snd_dmaengine_pcm_trigger(substream, cmd); - return 0; }