summaryrefslogtreecommitdiff
path: root/goog_touch_interface.h
diff options
context:
space:
mode:
authordavidycchen <davidycchen@google.com>2022-11-23 11:50:19 +0800
committerdavidycchen <davidycchen@google.com>2022-11-24 13:28:20 +0800
commit948a178eb7210ff49d262648d11e2a01f5fbf63b (patch)
treef8c62820192e122af635a6b9b9da2824acf395ff /goog_touch_interface.h
parentb494a3389e901190a8048cdeaa80de68fa85cccd (diff)
downloadcommon-948a178eb7210ff49d262648d11e2a01f5fbf63b.tar.gz
touch/gti: release all fingers when the device suspendsandroid-t-qpr2-beta-1_r0.6android-gs-pantah-5.10-t-qpr2-beta-1
Release all finger when the device suspends by GTI and also clear the slots information. Bug: 260020612 Test: suspend/resume the device. Change-Id: I5b70b34d92028713813c45443ae3d2b133cb4f39 Signed-off-by: davidycchen <davidycchen@google.com>
Diffstat (limited to 'goog_touch_interface.h')
-rw-r--r--goog_touch_interface.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/goog_touch_interface.h b/goog_touch_interface.h
index 01c2d93..c2b49d7 100644
--- a/goog_touch_interface.h
+++ b/goog_touch_interface.h
@@ -30,7 +30,6 @@
__func__, ##args)
#define MAX_SLOTS 10
-#define KTIME_RELEASE_ALL (ktime_set(0, 0))
#define GTI_DEBUG_KFIFO_LEN 4 /* must be power of 2. */
#define GTI_SENSOR_2D_OUT_FORMAT_WIDTH(size) ((size > (PAGE_SIZE * sizeof(s16) / 6)) ? 1 : 5)
@@ -503,6 +502,7 @@ struct gti_pm {
* @options: optional configuration that could apply by vendor driver.
* @input_lock: protect the input report between non-offload and offload.
* @manual_sensing_lock: protect the input manual_sensor_data_cmd.
+ * @input_process_lock: protect heatmap reading and frame reserving.
* @offload: struct that used by touch offload.
* @offload_frame: reserved frame that used by touch offload.
* @v4l2: struct that used by v4l2.
@@ -519,7 +519,6 @@ struct gti_pm {
* @pm: struct that used by gti pm.
* @pm_qos_req: struct that used by pm qos.
* @panel_is_lp_mode: display is in low power mode.
- * @force_legacy_report: force to directly report input by kernel input API.
* @offload_enable: touch offload is enabled or not.
* @v4l2_enable: v4l2 is enabled or not.
* @tbn_enable: tbn is enabled or not.
@@ -559,6 +558,7 @@ struct goog_touch_interface {
struct gti_optional_configuration options;
struct mutex input_lock;
struct mutex manual_sensing_lock;
+ struct mutex input_process_lock;
struct touch_offload_context offload;
struct touch_offload_frame *offload_frame;
struct v4l2_heatmap v4l2;
@@ -577,7 +577,6 @@ struct goog_touch_interface {
struct pm_qos_request pm_qos_req;
bool panel_is_lp_mode;
- bool force_legacy_report;
bool offload_enabled;
bool v4l2_enabled;
bool tbn_enabled;
@@ -650,7 +649,7 @@ inline int goog_request_threaded_irq(struct goog_touch_interface *gti,
unsigned long irqflags, const char *devname, void *dev_id);
int goog_process_vendor_cmd(struct goog_touch_interface *gti, enum gti_cmd_type cmd_type);
-int goog_input_process(struct goog_touch_interface *gti);
+int goog_input_process(struct goog_touch_interface *gti, bool report_from_irq);
struct goog_touch_interface *goog_touch_interface_probe(
void *private_data,
struct device *dev,