diff options
author | davidycchen <davidycchen@google.com> | 2021-09-24 10:31:19 +0800 |
---|---|---|
committer | davidycchen <davidycchen@google.com> | 2021-10-05 17:22:39 +0800 |
commit | 1ae7a213d8728bba95c797919cae0daf7f168f04 (patch) | |
tree | 19ec362af3639e5a9f845aefce8df60d8144ae65 /syna_tcm2.h | |
parent | 8dbeaa2288f4b3dcf8ed4a28a56eab5aed82dfa6 (diff) | |
download | synaptics_touch-1ae7a213d8728bba95c797919cae0daf7f168f04.tar.gz |
synaptics: support bus reference bit masking
Use bus reference bit masking to make sure both touch and kernel are
awake when the hardware interface is transferring.
Bug: 199104450.
Signed-off-by: davidycchen <davidycchen@google.com>
Change-Id: I4ae81d52dd1ef1f5b0b90cb331eab0965c7397db
Diffstat (limited to 'syna_tcm2.h')
-rw-r--r-- | syna_tcm2.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/syna_tcm2.h b/syna_tcm2.h index 55fba69..d8b6bc4 100644 --- a/syna_tcm2.h +++ b/syna_tcm2.h @@ -256,6 +256,15 @@ enum power_state { }; /** + * @brief: Bits masking for bus reference. + */ +enum { + SYNA_BUS_REF_SCREEN_ON = 0x0001, + SYNA_BUS_REF_IRQ = 0x0002, + SYNA_BUS_REF_FW_UPDATE = 0x0004, +}; + +/** * @brief: context of the synaptics linux-based driver * * The structure defines the kernel specific data in linux-based driver @@ -307,6 +316,14 @@ struct syna_tcm { struct delayed_work reflash_work; struct workqueue_struct *reflash_workqueue; + struct work_struct suspend_work; + struct work_struct resume_work; + struct workqueue_struct *event_wq; + struct completion bus_resumed; + + u32 bus_refmask; + struct mutex bus_mutex; + /* IOCTL-related variables */ pid_t proc_pid; struct task_struct *proc_task; @@ -417,6 +434,7 @@ void syna_cdev_update_report_queue(struct syna_tcm *tcm, #endif #endif +int syna_set_bus_ref(struct syna_tcm *tcm, u32 ref, bool enable); #endif /* end of _SYNAPTICS_TCM2_DRIVER_H_ */ |