]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: sun4i-i2s: Set sign extend sample
authorMarcus Cooper <codekipper@gmail.com>
Fri, 30 Oct 2020 14:46:38 +0000 (15:46 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 30 Oct 2020 17:58:53 +0000 (17:58 +0000)
commit8a9e4d9d3861e70321326d40b22c7aa9ae827b26
treeb4f44fa0f6022d7495e769581f8e025c3dd0c9d1
parent1de0d88b9e2738e709b009a9533f5c65566033f1
ASoC: sun4i-i2s: Set sign extend sample

On the newer SoCs such as the H3 and A64 this is set by default
to transfer a 0 after each sample in each slot. However the A10
and A20 SoCs that this driver was developed on had a default
setting where it padded the audio gain with zeros.

This isn't a problem while we have only support for 16bit audio
but with larger sample resolution rates in the pipeline then SEXT
bits should be cleared so that they also pad at the LSB. Without
this the audio gets distorted.

Set sign extend sample for all the sunxi generations even if they
are not affected. This will keep consistency and avoid relying on
default.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
Link: https://lore.kernel.org/r/20201030144648.397824-6-peron.clem@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sunxi/sun4i-i2s.c