]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
ASoC: tscs454: Add endianness flag in snd_soc_component_driver
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Wed, 4 May 2022 17:08:52 +0000 (18:08 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 10 Aug 2022 07:23:46 +0000 (09:23 +0200)
commit727a19b2f3b9605a8bc6222d6b47f7b61ce9251f
treec362ad26a0defb15067134fce8748ce6bc0f8928
parent17c48e26fc1df346ecb6bf0bbb587438a6731c43
ASoC: tscs454: Add endianness flag in snd_soc_component_driver

BugLink: https://bugs.launchpad.net/bugs/1981864
[ Upstream commit ff69ec96b87dccb3a29edef8cec5d4fefbbc2055 ]

The endianness flag is used on the CODEC side to specify an
ambivalence to endian, typically because it is lost over the hardware
link. This device receives audio over an I2S DAI and as such should
have endianness applied.

A fixup is also required to use the width directly rather than relying
on the format in hw_params, now both little and big endian would be
supported. It is worth noting this changes the behaviour of S24_LE to
use a word length of 24 rather than 32. This would appear to be a
correction since the fact S24_LE is stored as 32 bits should not be
presented over the bus.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220504170905.332415-26-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
sound/soc/codecs/tscs454.c