Unverified Commit 247d1c13 authored by Sheetal's avatar Sheetal Committed by Mark Brown
Browse files

ASoC: rt5640: Handle 0Hz sysclk during stream shutdown



Commit 2458adb8 ("SoC: simple-card-utils: set 0Hz to sysclk when
shutdown") sends a 0Hz sysclk request during stream shutdown to clear
codec rate constraints. The rt5640 codec forwards this 0Hz to
clk_set_rate(), which can cause clock controller firmware faults on
platforms where MCLK is SoC-driven (e.g. Tegra) and 0Hz falls below
the hardware minimum rate.

Handle the 0Hz case by clearing the internal sysclk state and
returning early, avoiding the invalid clk_set_rate() call.

Signed-off-by: default avatarSheetal <sheetal@nvidia.com>
Link: https://patch.msgid.link/20260406090547.988966-1-sheetal@nvidia.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent cba9ce8c
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1838,6 +1838,11 @@ static int rt5640_set_dai_sysclk(struct snd_soc_dai *dai,
	unsigned int pll_bit = 0;
	int ret;

	if (!freq) {
		rt5640->sysclk = 0;
		return 0;
	}

	switch (clk_id) {
	case RT5640_SCLK_S_MCLK:
		ret = clk_set_rate(rt5640->mclk, freq);