summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/rt715-sdca.c
diff options
context:
space:
mode:
authorJack Yu <jack.yu@realtek.com>2021-06-08 01:22:35 +0300
committerMark Brown <broonie@kernel.org>2021-06-08 15:36:37 +0300
commite343d34a9c912fc5c321e2a9fbc02e9dc9534ade (patch)
treedc1c049db6462334dc6051f94ae79ecb362fdadc /sound/soc/codecs/rt715-sdca.c
parentdbc07517ab173688ef11234d1099bc1e24e4f14b (diff)
downloadlinux-e343d34a9c912fc5c321e2a9fbc02e9dc9534ade.tar.xz
ASoC: rt715-sdca: fix clock stop prepare timeout issue
Fix clock stop prepare timeout issue (#2853). The trigger of internal circuit which belong to “SDCA preset stuffs” was not set correctly in previous driver, which could block clock_stop_preparation state. Add the correct register setting to fix it. Fixes: 20d17057f0a8c ('ASoC: rt715-sdca: Add RT715 sdca vendor-specific driver') Signed-off-by: Jack Yu <jack.yu@realtek.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210607222239.582139-12-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/rt715-sdca.c')
-rw-r--r--sound/soc/codecs/rt715-sdca.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/codecs/rt715-sdca.c b/sound/soc/codecs/rt715-sdca.c
index d82166f1a378..66e166568c50 100644
--- a/sound/soc/codecs/rt715-sdca.c
+++ b/sound/soc/codecs/rt715-sdca.c
@@ -1054,6 +1054,9 @@ int rt715_sdca_io_init(struct device *dev, struct sdw_slave *slave)
rt715_sdca_index_update_bits(rt715, RT715_VENDOR_REG,
RT715_REV_1, 0x40, 0x40);
}
+ /* DFLL Calibration trigger */
+ rt715_sdca_index_update_bits(rt715, RT715_VENDOR_REG,
+ RT715_DFLL_VAD, 0x1, 0x1);
/* trigger mode = VAD enable */
regmap_write(rt715->regmap,
SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_SMPU_TRIG_ST_EN,