]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: meson: axg-fifo: fix fifo threshold setup
authorJerome Brunet <jbrunet@baylibre.com>
Wed, 18 Dec 2019 17:24:17 +0000 (18:24 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 18 Dec 2019 20:00:24 +0000 (20:00 +0000)
commit74a7859b1f921b828c40d97dabd7a4f8ea818f1e
tree42cfa457b0447147fecaed5e1c2cddc15dc33f2e
parentd48c239d5147a9b664a4c32d4b42b5df92110679
ASoC: meson: axg-fifo: fix fifo threshold setup

On TODDR sm1, the fifo threshold register field is slightly different
compared to the other SoCs. This leads to the fifo A being flushed to
memory every 8kB. If the period is smaller than that, several periods
are pushed to memory and notified at once. This is not ideal.

Fix the register field update. With this, the fifos are flushed every
128B. We could still do better, like adapt the threshold depending on
the period size, but at least it consistent across the different
SoC/fifos

Fixes: 95120f31f630 ("ASoC: meson: axg-toddr: add sm1 support")
Reported-by: Alden DSouza <aldend@google.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20191218172420.1199117-2-jbrunet@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/meson/axg-fifo.c
sound/soc/meson/axg-fifo.h
sound/soc/meson/axg-frddr.c
sound/soc/meson/axg-toddr.c