]> git.itanic.dy.fi Git - linux-stable/commit
ASoC: meson: axg-toddr: fix channel order on g12 platforms
authorJerome Brunet <jbrunet@baylibre.com>
Fri, 28 Aug 2020 15:14:38 +0000 (17:14 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Sep 2020 10:59:54 +0000 (12:59 +0200)
commit7cee8e91e3ad1ffbe76974dabbc694624b4b497a
treed6029b294e448986fdf73f9da2b6d9346e5cd096
parentb41bd0dce2e81500c1f6666d399c8a4bd3593f18
ASoC: meson: axg-toddr: fix channel order on g12 platforms

[ Upstream commit 9c4b205a20f483d8a5d1208cfec33e339347d4bd ]

On g12 and following platforms, The first channel of record with more than
2 channels ends being placed randomly on an even channel of the output.

On these SoCs, a bit was added to force the first channel to be placed at
the beginning of the output. Apparently the behavior if the bit is not set
is not easily predictable. According to the documentation, this bit is not
present on the axg series.

Set the bit on g12 and fix the problem.

Fixes: a3c23a8ad4dc ("ASoC: meson: axg-toddr: add g12a support")
Reported-by: Nicolas Belin <nbelin@baylibre.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20200828151438.350974-1-jbrunet@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/meson/axg-toddr.c