mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-08 18:57:22 +00:00
ASoC: meson: aiu-encoder-i2s: prepare for multiple streams
aiu-encoder-i2s is going to be the interface that handles both playback and capture, so this commit does all the required changes to prepare for that since so far it only handled playback: - probe/remove functions are added to allocate/free per stream data, respectively. - 'struc gx_iface' and 'struct gx_stream' are used to store interface or stream associated data, respecively. - interface wide rate symmetry is enforced. - quirks on bclk are also enforced if/when necessary. Clock-wise instead of bulk enabling all the clocks on startup and disabling them on shutdown, only the peripheral's internal ones are enabled/disabled in those functions, whereas MCLK and I2S clock divider are handled in prepare/hw_free. Finally a trigger() callback is also added to start/stop the associated I2S data formatter. Signed-off-by: Valerio Setti <vsetti@baylibre.com> Reviewed-by: Jerome Brunet <jbrunet@baylibre.com> Link: https://patch.msgid.link/20260610-reshape-aiu-as-axg-v2-2-cac3663a8b51@baylibre.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
a295be8d62
commit
9335117a22
2 changed files with 193 additions and 17 deletions
Loading…
Add table
Add a link
Reference in a new issue