diff options
author | Mark Brown <broonie@kernel.org> | 2023-10-10 19:07:17 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-10-10 19:07:17 +0300 |
commit | 3c716e7f8acd039864b17f63d8506862b8c63f82 (patch) | |
tree | 3671be90ff9cd8f5cd6c547e7af5d35b0d6745a1 /sound/soc/codecs/cs35l56.c | |
parent | 4a221b2e3340f4a3c2b414c46c846a26c6caf820 (diff) | |
parent | 99d426c6dd2d6f9734617ec12def856ee35b9218 (diff) | |
download | linux-3c716e7f8acd039864b17f63d8506862b8c63f82.tar.xz |
ASoC: Merge fixes for consistent cs42l43 schema
We have adjacent changes for the cs42l43 DT schema, merge the fixes
branch up so that there's a single thing for people to base future
changes on.
Diffstat (limited to 'sound/soc/codecs/cs35l56.c')
-rw-r--r-- | sound/soc/codecs/cs35l56.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sound/soc/codecs/cs35l56.c b/sound/soc/codecs/cs35l56.c index 232af4e8faa4..45b4de3eff94 100644 --- a/sound/soc/codecs/cs35l56.c +++ b/sound/soc/codecs/cs35l56.c @@ -706,7 +706,7 @@ static void cs35l56_patch(struct cs35l56_private *cs35l56) mutex_lock(&cs35l56->base.irq_lock); - init_completion(&cs35l56->init_completion); + reinit_completion(&cs35l56->init_completion); cs35l56->soft_resetting = true; cs35l56_system_reset(&cs35l56->base, !!cs35l56->sdw_peripheral); @@ -1197,6 +1197,12 @@ post_soft_reset: /* Registers could be dirty after soft reset or SoundWire enumeration */ regcache_sync(cs35l56->base.regmap); + /* Set ASP1 DOUT to high-impedance when it is not transmitting audio data. */ + ret = regmap_set_bits(cs35l56->base.regmap, CS35L56_ASP1_CONTROL3, + CS35L56_ASP1_DOUT_HIZ_CTRL_MASK); + if (ret) + return dev_err_probe(cs35l56->base.dev, ret, "Failed to write ASP1_CONTROL3\n"); + cs35l56->base.init_done = true; complete(&cs35l56->init_completion); |