summaryrefslogtreecommitdiff
path: root/syna_tcm2.h
diff options
context:
space:
mode:
authordavidycchen <davidycchen@google.com>2022-08-08 14:25:28 +0800
committerdavidycchen <davidycchen@google.com>2022-08-08 15:21:42 +0800
commitde5cdbcffde875f1b7ea9cc3ad391375fa8803c3 (patch)
treeac139d0fdd5bf0cc41b0c9f114b6d05af7fefe9d /syna_tcm2.h
parentcb9c357e5415fcdbf4ced711f769823d90ddcaac (diff)
downloadsynaptics_touch-de5cdbcffde875f1b7ea9cc3ad391375fa8803c3.tar.gz
synaptics: set the firmware grip/palm mode with a workqueue
When there is a command triggered from a workqueue is still pending, a new command is sent from the interrupt handler causes the touch IC returns a pending error code. Move the setting commands in the interrupt handler to workqueue to avoid the above issue. Bug: 239181810 Test: Keep toggling the settings and scrolling the screen. watch -n2 "adb shell stop twoshay; sleep 1; adb shell start twoshay" Signed-off-by: davidycchen <davidycchen@google.com> Change-Id: Idb5a39147da56c2f3942280f6567ae696e3f1449
Diffstat (limited to 'syna_tcm2.h')
-rw-r--r--syna_tcm2.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/syna_tcm2.h b/syna_tcm2.h
index a9c11cc..0aaee81 100644
--- a/syna_tcm2.h
+++ b/syna_tcm2.h
@@ -494,6 +494,11 @@ struct syna_tcm {
/* Work for motion filter commands. */
struct work_struct motion_filter_work;
+ /* Work for setting firmware grip mode. */
+ struct work_struct set_grip_mode_work;
+ /* Work for setting firmware palm mode. */
+ struct work_struct set_palm_mode_work;
+
/* IOCTL-related variables */
pid_t proc_pid;
struct task_struct *proc_task;
@@ -522,6 +527,8 @@ struct syna_tcm {
bool high_sensitivity_mode;
u8 enable_fw_grip;
u8 enable_fw_palm;
+ u8 next_enable_fw_grip;
+ u8 next_enable_fw_palm;
#if defined(USE_DRM_BRIDGE)
struct drm_bridge panel_bridge;