[PATCH 0/9] ASoC: apple: mca: support simultaneous I2S capture on the frontend

James Calligeros posted 9 patches 7 months ago
sound/soc/apple/mca.c | 336 +++++++++++++++++--------
1 file changed, 234 insertions(+), 102 deletions(-)
[PATCH 0/9] ASoC: apple: mca: support simultaneous I2S capture on the frontend
Posted by James Calligeros 7 months ago
Hi all,

This series introduces a number of changes to the ASoC driver
for the Apple MCA peripheral to enable support for bidirectional
I2S. This is achieved by allowing frontends to act as clock consumers
and logically ORing data input lines when multiple backends are linked
to a frontend.

This allows the Texas Instruments speaker amps used on Apple Silicon Macs
(Apple-specific revisions of TAS2764 and TAS2770) to send their IVSENSE
data back to the SoC. Since these amps do not have any sort of integrated
speaker protection logic, we must use the IVSENSE data and the Thiele/Small
Parameters of the attached speaker(s) to implement our own in software.

---
Hector Martin (3):
      ASoC: apple: mca: Move clock shutdown to backend shutdown
      ASoC: apple: mca: Do not mark clocks in use for non-providers
      ASoC: apple: mca: Add delay after configuring clock

James Calligeros (1):
      ASoC: apple: mca: use readx_poll_timeout to check for cluster reset

Martin Povišer (5):
      ASoC: apple: mca: Constrain channels according to TDM mask
      ASoC: apple: mca: Separate data & clock port setup
      ASoC: apple: mca: Factor out mca_be_get_fe
      ASoC: apple: mca: Support FEs being clock consumers
      ASoC: apple: mca: Support capture on multiples BEs

 sound/soc/apple/mca.c | 336 +++++++++++++++++--------
 1 file changed, 234 insertions(+), 102 deletions(-)
---
base-commit: 7163ff8cf6a2ee6b6861f0c521885e83a97145f9
change-id: 20250517-mca-fixes-666094666fa0

Best regards,
-- 
James Calligeros <jcalligeros99@gmail.com>

Re: (subset) [PATCH 0/9] ASoC: apple: mca: support simultaneous I2S capture on the frontend
Posted by Mark Brown 7 months ago
On Sun, 18 May 2025 20:50:45 +1000, James Calligeros wrote:
> This series introduces a number of changes to the ASoC driver
> for the Apple MCA peripheral to enable support for bidirectional
> I2S. This is achieved by allowing frontends to act as clock consumers
> and logically ORing data input lines when multiple backends are linked
> to a frontend.
> 
> This allows the Texas Instruments speaker amps used on Apple Silicon Macs
> (Apple-specific revisions of TAS2764 and TAS2770) to send their IVSENSE
> data back to the SoC. Since these amps do not have any sort of integrated
> speaker protection logic, we must use the IVSENSE data and the Thiele/Small
> Parameters of the attached speaker(s) to implement our own in software.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/9] ASoC: apple: mca: Constrain channels according to TDM mask
      commit: e717c661e2d1a660e96c40b0fe9933e23a1d7747
[2/9] ASoC: apple: mca: use readx_poll_timeout to check for cluster reset
      (no commit info)
[4/9] ASoC: apple: mca: Separate data & clock port setup
      (no commit info)
[5/9] ASoC: apple: mca: Factor out mca_be_get_fe
      (no commit info)
[6/9] ASoC: apple: mca: Support FEs being clock consumers
      (no commit info)
[7/9] ASoC: apple: mca: Support capture on multiples BEs
      (no commit info)
[8/9] ASoC: apple: mca: Do not mark clocks in use for non-providers
      (no commit info)
[9/9] ASoC: apple: mca: Add delay after configuring clock
      (no commit info)

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark