mirror of
https://github.com/torvalds/linux.git
synced 2026-07-30 19:21:28 +02:00
input: qcom-hv-haptics: Update sequence of reading STATUS_DATA
Per HW recommendation, when reading HAP_CFG_STATUS_DATA registers, MOD_STATUS_XT.SEL need to be written first to select the right mux, then update MOD_STATUS_SEL register so haptics module can present the desired status values into STATUS_DATA registers. Change-Id: I24205072074ff75b25b42c752333b5f99d83d067 Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
This commit is contained in:
parent
e678995484
commit
6050776464
|
|
@ -768,10 +768,15 @@ static int haptics_get_closeloop_lra_period_v2(
|
|||
u8 val[2];
|
||||
u32 tmp;
|
||||
|
||||
val[0] = MOD_STATUS_SEL_LAST_GOOD_TLRA_VAL;
|
||||
val[1] = MOD_STATUS_XT_SEL_LAST_GOOD_TLRA_VAL;
|
||||
val[0] = MOD_STATUS_XT_SEL_LAST_GOOD_TLRA_VAL;
|
||||
rc = haptics_write(chip, chip->cfg_addr_base,
|
||||
HAP_CFG_MOD_STATUS_SEL_REG, val, 2);
|
||||
HAP_CFG_MOD_STATUS_XT_V2_REG, val, 1);
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
|
||||
val[0] = MOD_STATUS_SEL_LAST_GOOD_TLRA_VAL;
|
||||
rc = haptics_write(chip, chip->cfg_addr_base,
|
||||
HAP_CFG_MOD_STATUS_SEL_REG, val, 1);
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
|
||||
|
|
@ -1075,8 +1080,8 @@ static int haptics_get_available_fifo_memory(struct haptics_chip *chip)
|
|||
u8 val[2];
|
||||
u32 fill, available;
|
||||
|
||||
val[0] = MOD_STATUS_SEL_FIFO_FILL_STATUS_VAL;
|
||||
if (chip->ptn_revision == HAP_PTN_V1) {
|
||||
val[0] = MOD_STATUS_SEL_FIFO_FILL_STATUS_VAL;
|
||||
rc = haptics_write(chip, chip->cfg_addr_base,
|
||||
HAP_CFG_MOD_STATUS_SEL_REG, val, 1);
|
||||
if (rc < 0)
|
||||
|
|
@ -1089,9 +1094,15 @@ static int haptics_get_available_fifo_memory(struct haptics_chip *chip)
|
|||
|
||||
fill = val[0] & FIFO_REAL_TIME_FILL_STATUS_MASK_V1;
|
||||
} else {
|
||||
val[1] = MOD_STATUS_XT_V2_FIFO_FILL_STATUS_VAL;
|
||||
val[0] = MOD_STATUS_XT_V2_FIFO_FILL_STATUS_VAL;
|
||||
rc = haptics_write(chip, chip->cfg_addr_base,
|
||||
HAP_CFG_MOD_STATUS_SEL_REG, val, 2);
|
||||
HAP_CFG_MOD_STATUS_XT_V2_REG, val, 1);
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
|
||||
val[0] = MOD_STATUS_SEL_FIFO_FILL_STATUS_VAL;
|
||||
rc = haptics_write(chip, chip->cfg_addr_base,
|
||||
HAP_CFG_MOD_STATUS_SEL_REG, val, 1);
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user