ASoC: es8328: Use rounded rate for es8328_set_sysclk()
authorChris Morgan <macromorgan@hotmail.com>
Fri, 20 Oct 2023 17:15:39 +0000 (12:15 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 23 Oct 2023 12:29:52 +0000 (13:29 +0100)
commit18562fc36c21d572582049e6259c43bf1a01f3e0
tree67bcb09ee650ff5c6446e6da569ed42ef9ab3580
parentf1c406866af5dacdd9601cfa3be4873ebd801b86
ASoC: es8328: Use rounded rate for es8328_set_sysclk()

I have a board (RK3588 based) that sets the sysclk to 12287999. The
es8328 driver fails to match this to the 12288000 rate and fails to
load. Allow the rate comparison to work if the frequency is within
100hz by dividing it by 100 and rounding it, then multiplying it back
by 100.

Note the 100hz value was chosen arbitrarily by me, but it has only
been tested with a 1hz difference.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://lore.kernel.org/r/20231020171539.65513-1-macroalpha82@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/es8328.c