From be0172dabf2e05625b267c088a77a8a196bb1221 Mon Sep 17 00:00:00 2001 From: Fenglin Wu Date: Mon, 26 Oct 2020 07:47:09 +0800 Subject: [PATCH] input: qcom-hv-haptics: correct register values when toggling RC_CLK_CAL Correct register values when toggling RC_CLK_CAL for playing haptics in HBoost open loop case. Change-Id: Ia48ab3af93181c61ec719716634e94a819353c8b Signed-off-by: Fenglin Wu --- drivers/input/misc/qcom-hv-haptics.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/input/misc/qcom-hv-haptics.c b/drivers/input/misc/qcom-hv-haptics.c index 1363d2ea80d7..d2c5aaff2582 100644 --- a/drivers/input/misc/qcom-hv-haptics.c +++ b/drivers/input/misc/qcom-hv-haptics.c @@ -1160,15 +1160,17 @@ static int haptics_enable_play(struct haptics_chip *chip, bool en) if (((val & CAL_RC_CLK_MASK) == CAL_RC_CLK_AUTO_VAL << CAL_RC_CLK_SHIFT) && is_boost_vreg_enabled_in_open_loop(chip)) { + val = CAL_RC_CLK_DISABLED_VAL << CAL_RC_CLK_SHIFT; rc = haptics_masked_write(chip, chip->cfg_addr_base, HAP_CFG_CAL_EN_REG, CAL_RC_CLK_MASK, - CAL_RC_CLK_DISABLED_VAL); + val); if (rc < 0) return rc; + val = CAL_RC_CLK_AUTO_VAL << CAL_RC_CLK_SHIFT; rc = haptics_masked_write(chip, chip->cfg_addr_base, HAP_CFG_CAL_EN_REG, CAL_RC_CLK_MASK, - CAL_RC_CLK_AUTO_VAL); + val); if (rc < 0) return rc;