summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYen-Chao Chen <davidycchen@google.com>2023-03-14 15:04:07 +0800
committerYen-Chao Chen <davidycchen@google.com>2023-03-16 09:30:52 +0000
commiteeeb9dfe46a405f8c93a774417736cd3bd5843e6 (patch)
treeb8b79b298f47565d45618fc1f14ad36f1ae26881
parent442bcbb6cda7a68ef44577d500428ec57d624413 (diff)
downloadcommon-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.c13
-rw-r--r--goog_touch_interface.h4
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, &gti->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, &gti->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