summaryrefslogtreecommitdiff
path: root/drivers/pwm/pwm-qpnp.c
diff options
context:
space:
mode:
authorFenglin Wu <fenglinw@codeaurora.org>2017-11-08 13:27:34 +0800
committerFenglin Wu <fenglinw@codeaurora.org>2017-11-08 16:58:34 +0800
commit8b7ca67a3736d0a91e8ae05ba6da8ebc0954e1db (patch)
treefc39ac8664a4a8272ce2fb985221b535b66cf5fc /drivers/pwm/pwm-qpnp.c
parentb1281c202f4096a19a0477d654ddb6b9c48b95a3 (diff)
pwm: pwm-qpnp: Enable glitch removal after PWM enabled
Enable glitch control after PWM enabled to remove the glitches on the PWM output. CRs-Fixed: 2134126 Change-Id: I910b26d997bd5e934119dce1ab518bb31ab5c9a5 Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Diffstat (limited to 'drivers/pwm/pwm-qpnp.c')
-rw-r--r--drivers/pwm/pwm-qpnp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/pwm/pwm-qpnp.c b/drivers/pwm/pwm-qpnp.c
index 5e808150a3dd..8edb8a61795a 100644
--- a/drivers/pwm/pwm-qpnp.c
+++ b/drivers/pwm/pwm-qpnp.c
@@ -1324,6 +1324,15 @@ static int _pwm_enable(struct qpnp_pwm_chip *chip)
chip->qpnp_lpg_registers[QPNP_ENABLE_CONTROL]) ||
chip->flags & QPNP_PWM_LUT_NOT_SUPPORTED) {
rc = qpnp_lpg_configure_pwm_state(chip, QPNP_PWM_ENABLE);
+ if (rc) {
+ pr_err("Failed to enable PWM mode, rc=%d\n", rc);
+ return rc;
+ }
+ rc = qpnp_lpg_glitch_removal(chip, true);
+ if (rc) {
+ pr_err("Failed to enable glitch removal, rc=%d\n", rc);
+ return rc;
+ }
} else if (!(chip->flags & QPNP_PWM_LUT_NOT_SUPPORTED)) {
rc = qpnp_lpg_configure_lut_state(chip, QPNP_LUT_ENABLE);
}