summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavidycchen <davidycchen@google.com>2022-11-30 16:30:05 +0800
committerdavidycchen <davidycchen@google.com>2022-11-30 16:30:05 +0800
commit418aa075f0ee152ce9fa6e7cfba864c2dcbcbf81 (patch)
treebf3910483c5f86f51a25d5fe4cc0884494f7d932
parentfc7927accf6291ee00b2c8f4c9f8e4744f5cc6ee (diff)
downloadcommon-418aa075f0ee152ce9fa6e7cfba864c2dcbcbf81.tar.gz
gti: replace manual_sensing_lock by input_process_lock
To protect the interrupt and userspace commands read the heatmap simultaneously. Bug: 260785497 Test: read heatmap by adb commands. Signed-off-by: davidycchen <davidycchen@google.com> Change-Id: I7b54997d7d3edc7c9ea73a37d4045c5b3803d1a8
-rw-r--r--goog_touch_interface.c25
-rw-r--r--goog_touch_interface.h2
2 files changed, 12 insertions, 15 deletions
diff --git a/goog_touch_interface.c b/goog_touch_interface.c
index 39b7506..972d42f 100644
--- a/goog_touch_interface.c
+++ b/goog_touch_interface.c
@@ -439,7 +439,7 @@ static ssize_t ms_base_show(struct device *dev,
u16 rx = gti->offload.caps.rx_size;
int x, y;
- ret = mutex_lock_interruptible(&gti->manual_sensing_lock);
+ ret = mutex_lock_interruptible(&gti->input_process_lock);
if (ret != 0) {
buf_idx += scnprintf(buf + buf_idx, PAGE_SIZE,
"error: has been interrupted!\n");
@@ -472,7 +472,7 @@ static ssize_t ms_base_show(struct device *dev,
}
}
- mutex_unlock(&gti->manual_sensing_lock);
+ mutex_unlock(&gti->input_process_lock);
return buf_idx;
}
@@ -487,7 +487,7 @@ static ssize_t ms_diff_show(struct device *dev,
u16 rx = gti->offload.caps.rx_size;
int x, y;
- ret = mutex_lock_interruptible(&gti->manual_sensing_lock);
+ ret = mutex_lock_interruptible(&gti->input_process_lock);
if (ret != 0) {
buf_idx += scnprintf(buf + buf_idx, PAGE_SIZE,
"error: has been interrupted!\n");
@@ -520,7 +520,7 @@ static ssize_t ms_diff_show(struct device *dev,
}
}
- mutex_unlock(&gti->manual_sensing_lock);
+ mutex_unlock(&gti->input_process_lock);
return buf_idx;
}
@@ -535,7 +535,7 @@ static ssize_t ms_raw_show(struct device *dev,
u16 rx = gti->offload.caps.rx_size;
int x, y;
- ret = mutex_lock_interruptible(&gti->manual_sensing_lock);
+ ret = mutex_lock_interruptible(&gti->input_process_lock);
if (ret != 0) {
buf_idx += scnprintf(buf + buf_idx, PAGE_SIZE,
"error: has been interrupted!\n");
@@ -568,7 +568,7 @@ static ssize_t ms_raw_show(struct device *dev,
}
}
- mutex_unlock(&gti->manual_sensing_lock);
+ mutex_unlock(&gti->input_process_lock);
return buf_idx;
}
@@ -834,7 +834,7 @@ static ssize_t ss_base_show(struct device *dev,
u16 rx = gti->offload.caps.rx_size;
int x, y;
- ret = mutex_lock_interruptible(&gti->manual_sensing_lock);
+ ret = mutex_lock_interruptible(&gti->input_process_lock);
if (ret != 0) {
buf_idx += scnprintf(buf + buf_idx, PAGE_SIZE,
"error: has been interrupted!\n");
@@ -870,7 +870,7 @@ static ssize_t ss_base_show(struct device *dev,
}
}
- mutex_unlock(&gti->manual_sensing_lock);
+ mutex_unlock(&gti->input_process_lock);
return buf_idx;
}
@@ -885,7 +885,7 @@ static ssize_t ss_diff_show(struct device *dev,
u16 rx = gti->offload.caps.rx_size;
int x, y;
- ret = mutex_lock_interruptible(&gti->manual_sensing_lock);
+ ret = mutex_lock_interruptible(&gti->input_process_lock);
if (ret != 0) {
buf_idx += scnprintf(buf + buf_idx, PAGE_SIZE,
"error: has been interrupted!\n");
@@ -921,7 +921,7 @@ static ssize_t ss_diff_show(struct device *dev,
}
}
- mutex_unlock(&gti->manual_sensing_lock);
+ mutex_unlock(&gti->input_process_lock);
return buf_idx;
}
@@ -936,7 +936,7 @@ static ssize_t ss_raw_show(struct device *dev,
u16 rx = gti->offload.caps.rx_size;
int x, y;
- ret = mutex_lock_interruptible(&gti->manual_sensing_lock);
+ ret = mutex_lock_interruptible(&gti->input_process_lock);
if (ret != 0) {
buf_idx += scnprintf(buf + buf_idx, PAGE_SIZE,
"error: has been interrupted!\n");
@@ -972,7 +972,7 @@ static ssize_t ss_raw_show(struct device *dev,
}
}
- mutex_unlock(&gti->manual_sensing_lock);
+ mutex_unlock(&gti->input_process_lock);
return buf_idx;
}
@@ -3244,7 +3244,6 @@ struct goog_touch_interface *goog_touch_interface_probe(
gti->mf_mode = GTI_MF_MODE_DEFAULT;
gti->screen_protector_mode_setting = GTI_SCREEN_PROTECTOR_MODE_DISABLE;
mutex_init(&gti->input_lock);
- mutex_init(&gti->manual_sensing_lock);
mutex_init(&gti->input_process_lock);
goog_init_options(gti, options);
goog_offload_probe(gti);
diff --git a/goog_touch_interface.h b/goog_touch_interface.h
index ae3c6c2..98fcf3a 100644
--- a/goog_touch_interface.h
+++ b/goog_touch_interface.h
@@ -512,7 +512,6 @@ struct gti_pm {
* @dev: pointer to struct device that used by google touch interface driver.
* @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.
@@ -577,7 +576,6 @@ struct goog_touch_interface {
struct device *dev;
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;