]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ASoC: cs35l56: Only patch ASP registers if the DAI is part of a DAIlink
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Thu, 26 Feb 2026 11:01:37 +0000 (11:01 +0000)
committerMark Brown <broonie@kernel.org>
Sun, 1 Mar 2026 23:48:07 +0000 (23:48 +0000)
commit9351cf3fd92dc1349bb75f2f7f7324607dcf596f
tree741c99a6f1cbdfd360ac6ab30f1ef9f2afa06e92
parent11439c4635edd669ae435eec308f4ab8a0804808
ASoC: cs35l56: Only patch ASP registers if the DAI is part of a DAIlink

Move the ASP register patches to a separate struct and apply this from the
ASP DAI probe() function so that the registers are only patched if the DAI
is part of a DAI link.

Some systems use the ASP as a special-purpose interconnect and on these
systems the ASP registers are configured by a third party (the firmware,
the BIOS, or another device using the amp's secondary host control
interface).

If the machine driver does not hook up the ASP DAI then the ASP registers
must be omitted from the patch to prevent overwriting the third party
configuration.

If the machine driver includes the ASP DAI in a DAI link, this implies that
the machine driver and higher components (such as alsa-ucm) are taking
ownership of the ASP. In this case the ASP registers are patched to known
defaults and the machine driver should configure the ASP.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://patch.msgid.link/20260226110137.1664562-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/cs35l56.h
sound/soc/codecs/cs35l56-shared.c
sound/soc/codecs/cs35l56.c