]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ASoC: tegra: Add support for S24_LE audio format
authorRitu Chaudhary <rituc@nvidia.com>
Tue, 22 Oct 2024 04:13:30 +0000 (04:13 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 22 Oct 2024 14:06:29 +0000 (15:06 +0100)
commit4204eccc7b2a4fb372ea6bafc80a765c98657a99
tree6a4294eea884c404821929a1aa4e4cefea073ef8
parente6d20a9b0f376fda3e3c3709a59cefa6c0021784
ASoC: tegra: Add support for S24_LE audio format

Add support for S24_LE format for all internal and IO AHUB
modules, except for ASRC (which is already supported).

The data flow happens as mentioned below:

- ADMAIF picks 24-bit valid data and converts it to 32-bit before
  sending to internal AHUB modules. This makes the driver change
  simpler for internal AHUB modules.
- IO modules CIF converts the 32-bit data to 24-bit before sending it
  to the external world.
- To maintain consistency across modules, conversions between 24-bit
  and 32-bit occur either at ADMAIF or at the IO modules CIF.

This feature has been thoroughly tested and verified with all internal
AHUB modules on the Jetson AGX Orin Platform, as well as with the
external RT5640 codec.

Signed-off-by: Ritu Chaudhary <rituc@nvidia.com>
Signed-off-by: Sheetal <sheetal@nvidia.com>
Reviewed-by: Sameer Pujar <spujar@nvidia.com>
Link: https://patch.msgid.link/20241022041330.3421765-1-sheetal@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/tegra/tegra186_dspk.c
sound/soc/tegra/tegra210_admaif.c
sound/soc/tegra/tegra210_adx.c
sound/soc/tegra/tegra210_amx.c
sound/soc/tegra/tegra210_dmic.c
sound/soc/tegra/tegra210_i2s.c
sound/soc/tegra/tegra210_i2s.h
sound/soc/tegra/tegra210_mixer.c
sound/soc/tegra/tegra210_mvc.c
sound/soc/tegra/tegra210_ope.c
sound/soc/tegra/tegra210_sfc.c