]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: rsnd: src: Add missing scu_supply clock to suspend/resume
authorJohn Madieu <john.madieu.xa@bp.renesas.com>
Tue, 30 Jun 2026 17:53:29 +0000 (17:53 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 2 Jul 2026 17:56:38 +0000 (18:56 +0100)
scu_supply is enabled alongside scu and scu_x2 during normal SRC
operation, but rsnd_src_suspend() and rsnd_src_resume() only disable
and re-enable scu and scu_x2. The supply clock is left enabled across
a system suspend and its prepare/enable refcount becomes unbalanced
after a suspend/resume cycle.

Disable scu_supply in rsnd_src_suspend() and re-enable it in
rsnd_src_resume() so the SRC clocks are managed consistently across
system PM transitions.

Fixes: ef19ecf042b4 ("ASoC: rsnd: Add system suspend/resume support")
Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/20260630175329.4145703-1-john.madieu.xa@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/renesas/rcar/src.c

index ac806bdc96d9ef8f0e19f654f8c5a3fc8e6bc294..2cdb39e898af0278bb81c85087a761c4f97d9392 100644 (file)
@@ -850,6 +850,7 @@ void rsnd_src_suspend(struct rsnd_priv *priv)
 
        clk_disable_unprepare(src_ctrl->scu_x2);
        clk_disable_unprepare(src_ctrl->scu);
+       clk_disable_unprepare(src_ctrl->scu_supply);
 }
 
 void rsnd_src_resume(struct rsnd_priv *priv)
@@ -861,6 +862,7 @@ void rsnd_src_resume(struct rsnd_priv *priv)
        if (!src_ctrl)
                return;
 
+       clk_prepare_enable(src_ctrl->scu_supply);
        clk_prepare_enable(src_ctrl->scu);
        clk_prepare_enable(src_ctrl->scu_x2);