14 Jan
2023
14 Jan
'23
6:25 p.m.
On Sat, Jan 14, 2023 at 12:30:54AM +0000, Jarrah Gosbell wrote:
rt5640_set_dai_sysclk is called with freq == 0 when playback stops. This causes DMIC setup code to fail. I2S interface doesn't need to be active for codec to work, so don't clear rt5640->sysclk after rt5640_set_dai_sysclk is called with freq == 0.
The goal with set_sysclk() is to record the current clock frequency, if the clock is stopped it should be set to zero. If a machine driver is setting the input clock to zero when it's still being provided then it should be fixed. If the device doesn't need a clock for DMIC (which seems dubious) then whatever is checking for a clock should be fixed.