Unverified Commit cce34d11 authored by Olivier Moysan's avatar Olivier Moysan Committed by Mark Brown
Browse files

ASoC: stm32: sai: add a check on minimal kernel frequency



On MP2 SoCs SAI kernel clock rate is managed through
stm32_sai_set_parent_rate() function.
If the kernel clock rate was set previously to a low frequency, this
frequency may be too low to support the newly requested audio stream rate.
However the stm32_sai_rate_accurate() will only check accuracy against
the maximum kernel clock rate. The function will return leaving the kernel
clock rate unchanged.
Add a check on minimal frequency requirement, to avoid this.

Fixes: 2cfe1ff2 ("ASoC: stm32: sai: add stm32mp25 support")
Signed-off-by: default avatarOlivier Moysan <olivier.moysan@foss.st.com>
Link: https://patch.msgid.link/20250430165210.321273-3-olivier.moysan@foss.st.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent edea9277
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -447,7 +447,10 @@ static int stm32_sai_set_parent_rate(struct stm32_sai_sub_data *sai,
	 * return immediately.
	 */
	sai_curr_rate = clk_get_rate(sai->sai_ck);
	if (stm32_sai_rate_accurate(sai_ck_max_rate, sai_curr_rate))
	dev_dbg(&pdev->dev, "kernel clock rate: min [%u], max [%u], current [%u]",
		sai_ck_min_rate, sai_ck_max_rate, sai_curr_rate);
	if (stm32_sai_rate_accurate(sai_ck_max_rate, sai_curr_rate) &&
	    sai_curr_rate >= sai_ck_min_rate)
		return 0;

	/*