]> www.infradead.org Git - users/dwmw2/linux.git/commit
ASoC: cs35l56: Fixes to handling of ASP1 config
authorMark Brown <broonie@kernel.org>
Tue, 9 Apr 2024 22:26:37 +0000 (23:26 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 9 Apr 2024 22:26:37 +0000 (23:26 +0100)
commit2e411e939da9557494a0d83eb2e50627d9ccb2af
treefb3b1531880a6acb55710b4e6cb3b4ae48d38ecf
parentf23e8f3ad3ea739be006459df4ed4e7b3f5242e6
parentdfd2ffb373999630a14d7ff614440f1c2fcc704c
ASoC: cs35l56: Fixes to handling of ASP1 config

Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>:

This chain fixes some problems with some previous patches for handling
the ASP1 config registers. The root of the problem is that the ownership
of these registers can be either with the firmware or the driver, and that
the chip has to be soft-reset after downloading the firmware.

This chain adds and uses a regmap_read_bypassed() function so that the
driver can leave the regmap in cache-only until the chip has rebooted,
but still poll a register to detect when the chip has rebooted.

Richard Fitzgerald (4):
  regmap: Add regmap_read_bypassed()
  ALSA: hda: cs35l56: Exit cache-only after
    cs35l56_wait_for_firmware_boot()
  ASoC: cs35l56: Fix unintended bus access while resetting amp
  ASoC: cs35l56: Prevent overwriting firmware ASP config

 drivers/base/regmap/regmap.c      | 37 ++++++++++++++
 include/linux/regmap.h            |  8 +++
 include/sound/cs35l56.h           |  2 +
 sound/pci/hda/cs35l56_hda.c       |  4 ++
 sound/soc/codecs/cs35l56-sdw.c    |  2 -
 sound/soc/codecs/cs35l56-shared.c | 83 ++++++++++++++++++++-----------
 sound/soc/codecs/cs35l56.c        | 26 +++++++++-
 7 files changed, 130 insertions(+), 32 deletions(-)

--
2.39.2