linux-stable/sound/soc/meson
Jerome Brunet 05173ef707 ASoC: meson: axg-tdm-interface: add frame rate constraint
[ Upstream commit 59c6a3a43b ]

According to Amlogic datasheets for the SoCs supported by this driver, the
maximum bit clock rate is 100MHz.

The tdm interface allows the rates listed by the DAI driver, regardless of
the number slots or their width. However, these will impact the bit clock
rate.

Hitting the 100MHz limit is very unlikely for most use cases but it is
possible.

For example with 32 slots / 32 bits wide, the maximum rate is no longer
384kHz but ~96kHz.

Add the constraint accordingly if the component is not already active.
If it is active, the rate is already constrained by the first stream rate.

Fixes: d60e4f1e4b ("ASoC: meson: add tdm interface driver")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://msgid.link/r/20240223175116.2005407-3-jbrunet@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-26 18:19:52 -04:00
..
Kconfig ASoC: Fix 7/8 spaces indentation in Kconfig 2020-11-17 17:08:45 +00:00
Makefile
aiu-acodec-ctrl.c ASoC: meson: merge DAI call back functions into ops 2023-08-14 13:10:20 +01:00
aiu-codec-ctrl.c ASoC: meson: merge DAI call back functions into ops 2023-08-14 13:10:20 +01:00
aiu-encoder-i2s.c ASoC: meson: Rename set_fmt_new back to set_fmt 2022-06-06 12:34:06 +01:00
aiu-encoder-spdif.c ASoC: meson: aiu: Fix spelling mistake "Unsupport" -> "Unsupported" 2021-09-27 13:01:07 +01:00
aiu-fifo-i2s.c ASoC: meson: merge DAI call back functions into ops 2023-08-14 13:10:20 +01:00
aiu-fifo-spdif.c ASoC: meson: merge DAI call back functions into ops 2023-08-14 13:10:20 +01:00
aiu-fifo.c ASoC: meson: use helper function 2023-01-31 11:05:03 +00:00
aiu-fifo.h
aiu.c ASoC: meson: aiu: fix function pointer type mismatch 2024-03-26 18:19:48 -04:00
aiu.h ASoC: meson: aiu: fix function pointer type mismatch 2024-03-26 18:19:48 -04:00
axg-card.c ASoC: meson: use snd_soc_{of_}get_dlc() 2023-06-20 12:49:25 +01:00
axg-fifo.c ASoC: meson: Use dev_err_probe() helper 2021-12-20 12:47:17 +00:00
axg-fifo.h
axg-frddr.c ASoC: meson: merge DAI call back functions into ops 2023-08-14 13:10:20 +01:00
axg-pdm.c ASoC: meson: merge DAI call back functions into ops 2023-08-14 13:10:20 +01:00
axg-spdifin.c ASoC: meson: spdifin: start hw on dai probe 2023-09-11 01:23:53 +01:00
axg-spdifout.c ASoC: meson: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:28 +01:00
axg-tdm-formatter.c ASoC: meson: axg-tdm-formatter: fix channel slot allocation 2023-08-10 00:22:55 +01:00
axg-tdm-formatter.h ASoC: meson: axg-tdm-formatters: fix sclk inversion 2020-07-30 19:45:01 +01:00
axg-tdm-interface.c ASoC: meson: axg-tdm-interface: add frame rate constraint 2024-03-26 18:19:52 -04:00
axg-tdm.h
axg-tdmin.c ASoC: meson: use helper function 2023-01-31 11:05:03 +00:00
axg-tdmout.c ASoC: meson: use helper function 2023-01-31 11:05:03 +00:00
axg-toddr.c ASoC: meson: merge DAI call back functions into ops 2023-08-14 13:10:20 +01:00
g12a-toacodec.c ASoC: meson: g12a-toacodec: Fix event generation 2024-01-10 17:16:51 +01:00
g12a-tohdmitx.c ASoC: meson: g12a-tohdmitx: Fix event generation for S/PDIF mux 2024-01-10 17:16:51 +01:00
gx-card.c ASoC: meson: use snd_soc_{of_}get_dlc() 2023-06-20 12:49:25 +01:00
meson-card-utils.c ASoC: meson: use snd_soc_{of_}get_dlc() 2023-06-20 12:49:25 +01:00
meson-card.h ASoC: meson: use snd_soc_{of_}get_dlc() 2023-06-20 12:49:25 +01:00
meson-codec-glue.c ASoC: meson: switch to use c2c_params instead of params 2023-04-05 12:16:37 +01:00
meson-codec-glue.h
t9015.c ASoC: meson: t9015: fix function pointer type mismatch 2024-03-26 18:19:48 -04:00