diff options
author | Yen-Chao Chen <davidycchen@google.com> | 2023-03-14 15:04:07 +0800 |
---|---|---|
committer | Yen-Chao Chen <davidycchen@google.com> | 2023-03-16 09:30:52 +0000 |
commit | eeeb9dfe46a405f8c93a774417736cd3bd5843e6 (patch) | |
tree | b8b79b298f47565d45618fc1f14ad36f1ae26881 | |
parent | 442bcbb6cda7a68ef44577d500428ec57d624413 (diff) | |
download | common-eeeb9dfe46a405f8c93a774417736cd3bd5843e6.tar.gz |
gti: update display status instead of pm_state for screen_state
1. Update the display status instead of pm_state to touch_offload.
2. Only update the frame if active slot(s) update or slot(s)
state change or resetting frame data.
Bug: 265870152
Test: Run example algorithm.
Change-Id: I1d3bc0a1b768a564e63a05464b6464c7aa11a84c
Signed-off-by: Yen-Chao Chen <davidycchen@google.com>
-rw-r--r-- | goog_touch_interface.c | 13 | ||||
-rw-r--r-- | goog_touch_interface.h | 4 |
2 files changed, 8 insertions, 9 deletions
diff --git a/goog_touch_interface.c b/goog_touch_interface.c index bfd044c..c6dba4f 100644 --- a/goog_touch_interface.c +++ b/goog_touch_interface.c @@ -1523,6 +1523,8 @@ static void goog_set_display_state(struct goog_touch_interface *gti, display_state); return; } + + gti->context_changed.screen_state = 1; gti->display_state = display_state; gti->cmd.display_state_cmd.setting = display_state; ret = goog_process_vendor_cmd(gti, GTI_CMD_NOTIFY_DISPLAY_STATE); @@ -1643,7 +1645,7 @@ int goog_process_vendor_cmd(struct goog_touch_interface *gti, enum gti_cmd_type ret = gti->options.set_irq_mode(private_data, >i->cmd.irq_cmd); break; case GTI_CMD_SET_PALM_MODE: - GOOG_INFO(gti, "Set firmware grip %s", + GOOG_INFO(gti, "Set firmware palm %s", gti->cmd.palm_cmd.setting == GTI_PALM_ENABLE ? "enabled" : "disabled"); ret = gti->options.set_palm_mode(private_data, >i->cmd.palm_cmd); @@ -1779,7 +1781,7 @@ int goog_get_driver_status(struct goog_touch_interface *gti, gti->context_changed.offload_timestamp = 1; driver_cmd->context_changed.value = gti->context_changed.value; - driver_cmd->screen_state = gti->pm.state; + driver_cmd->screen_state = gti->display_state; driver_cmd->display_refresh_rate = gti->display_vrefresh; driver_cmd->touch_report_rate = gti->report_rate_setting; driver_cmd->noise_state = gti->fw_status.noise_level; @@ -2379,10 +2381,10 @@ int goog_input_process(struct goog_touch_interface *gti, bool reset_data) /* * Only do the input process if active slot(s) update - * or slot(s) state change or driver context change. + * or slot(s) state change or resetting frame data. */ if (!(gti->slot_bit_active & gti->slot_bit_in_use) && - !gti->slot_bit_changed && !gti->context_changed.value) + !gti->slot_bit_changed && !reset_data) return -EPERM; /* @@ -3078,8 +3080,6 @@ static void goog_pm_suspend(struct gti_pm *pm) if (pm->suspend) pm->suspend(gti->vendor_dev); - gti->context_changed.screen_state = 1; - if (gti->tbn_register_mask) { ret = tbn_release_bus(gti->tbn_register_mask); if (ret) @@ -3117,7 +3117,6 @@ static void goog_pm_resume(struct gti_pm *pm) if (pm->resume) pm->resume(gti->vendor_dev); - gti->context_changed.screen_state = 1; pm->state = GTI_PM_RESUME; } diff --git a/goog_touch_interface.h b/goog_touch_interface.h index e970c1a..0b0e2fb 100644 --- a/goog_touch_interface.h +++ b/goog_touch_interface.h @@ -151,8 +151,8 @@ enum gti_ping_mode : u32 { }; enum gti_pm_state : u32 { - GTI_PM_RESUME = 0, - GTI_PM_SUSPEND, + GTI_PM_SUSPEND = 0, + GTI_PM_RESUME, }; #define GTI_PM_WAKELOCK_TYPE_LOCK_MASK 0xFFFF |