On Tue, Jun 07, 2022 at 02:13:09PM +0200, Lukasz Majewski wrote:
On Mon, Jun 06, 2022 at 05:44:40PM +0200, Lukasz Majewski wrote:
I don't entirely follow the above - in what way might the core adjust the clocking, and why would we want to allow the use of invalid clocks? Surely that just makes error checking worse.
Hmm, it is a bit complicated.
When I enabed wm8940 support in mainline - the first call to wm8940_set_dai_sysclk (the set_sysclk callback) required mclk = 11997070 frequency.
With the current code [1] the initialization of the codec returns -EINVAL and the codec is not supported in the system:
asoc-simple-card: probe of sound failed with error -22
Well, that looks like a bug in either simple-card or it's configuration which should be fixed then (you should probably use audio-graph-card for new things BTW). If a machine driver just randomly sets a clock rate that the system can't support and doesn't want then that's a problem, presuambly it's getting that rate from somewhere. Note that this is the machine driver trying to set a clock rate, not the core.