From f2441859c368fe25512a71e82160b0a307ed4429 Mon Sep 17 00:00:00 2001 From: Detlev Casanova Date: Wed, 18 Feb 2026 10:46:50 -0500 Subject: [PATCH] sound: rockchip: Use param freq if not provided by set_sysclk Hi Lucas, sorry for breaking support on your board. I'm also surprised that you were not added in CC of the original patch. Can you try to keep the patch and apply this instead ? Drivers will not always set the sysclk. If that is the case, use the clock set in the params multiplied by the default mclk-fs. --- sound/soc/rockchip/rockchip_i2s_tdm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.c b/sound/soc/rockchip/rockchip_i2s_tdm.c index 770b9bfbb384..f2cda7e64b74 100644 --- a/sound/soc/rockchip/rockchip_i2s_tdm.c +++ b/sound/soc/rockchip/rockchip_i2s_tdm.c @@ -665,6 +665,12 @@ static int rockchip_i2s_tdm_hw_params(struct snd_pcm_substream *substream, mclk_rate = i2s_tdm->mclk_rx_freq; } + /* If the dai/component driver didn't call set_sysclk(), simply + * use the freq from the params. + */ + if (!mclk_rate) + mclk_rate = DEFAULT_MCLK_FS * params_rate(params); + err = clk_set_rate(mclk, mclk_rate); if (err) return err; -- 2.53.0