]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: renesas: msiof: set SIFCTR register
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 25 Sep 2025 05:17:17 +0000 (05:17 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:37:31 +0000 (15:37 -0500)
[ Upstream commit 130947b4681c515a5e5a7961244b502de2de85ca ]

Because it uses DMAC, we would like to transfer data if there is any data.
Set SIFCTR for it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Yusuke Goda <yusuke.goda.sx@renesas.com>
Link: https://patch.msgid.link/87bjmzyuub.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/renesas/rcar/msiof.c

index 555fdd4fb25133a4e7534b03d14fa2fa0cfabfe6..ede0211daacba9b0ab907cf812cf432d0f839aa0 100644 (file)
@@ -185,6 +185,12 @@ static int msiof_hw_start(struct snd_soc_component *component,
                msiof_write(priv, SIRMDR3, val);
        }
 
+       /* SIFCTR */
+       if (is_play)
+               msiof_update(priv, SIFCTR, SIFCTR_TFWM, FIELD_PREP(SIFCTR_TFWM, SIFCTR_TFWM_1));
+       else
+               msiof_update(priv, SIFCTR, SIFCTR_RFWM, FIELD_PREP(SIFCTR_RFWM, SIFCTR_RFWM_1));
+
        /* SIIER */
        if (is_play)
                val = SIIER_TDREQE | SIIER_TDMAE | SISTR_ERR_TX;