diff --git a/drivers/input/misc/qcom-hv-haptics.c b/drivers/input/misc/qcom-hv-haptics.c index 1d950dbddc78..7e31d7665552 100644 --- a/drivers/input/misc/qcom-hv-haptics.c +++ b/drivers/input/misc/qcom-hv-haptics.c @@ -58,6 +58,7 @@ #define DEFAULT_VMAX_MV 5000 #define HAP_CFG_DRV_WF_SEL_REG 0x49 +#define DRV_WF_FMT_BIT BIT(4) #define DRV_WF_SEL_MASK GENMASK(1, 0) #define HAP_CFG_AUTO_SHUTDOWN_CFG_REG 0x4A @@ -1881,6 +1882,12 @@ static int haptics_hw_init(struct haptics_chip *chip) if (rc < 0) return rc; + /* Config to use 2's complement values for sample data */ + rc = haptics_masked_write(chip, chip->cfg_addr_base, + HAP_CFG_DRV_WF_SEL_REG, DRV_WF_FMT_BIT, 0); + if (rc < 0) + return rc; + /* preload effect */ if (config->preload_effect != -EINVAL) { for (i = 0; i < chip->effects_count; i++)