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)
commit864cee90d4bd870e5d5e5a0b1a6f055f4f951350
tree42cfa457b0447147fecaed5e1c2cddc15dc33f2e
parent72b46612d06b83851e2e4f7b538a0bbeb69c10de
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: 5ac825c3d85e ("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