diff options
author | davidycchen <davidycchen@google.com> | 2022-11-30 16:30:05 +0800 |
---|---|---|
committer | davidycchen <davidycchen@google.com> | 2022-11-30 16:30:05 +0800 |
commit | 418aa075f0ee152ce9fa6e7cfba864c2dcbcbf81 (patch) | |
tree | bf3910483c5f86f51a25d5fe4cc0884494f7d932 | |
parent | fc7927accf6291ee00b2c8f4c9f8e4744f5cc6ee (diff) | |
download | common-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.c | 25 | ||||
-rw-r--r-- | goog_touch_interface.h | 2 |
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(>i->manual_sensing_lock); + ret = mutex_lock_interruptible(>i->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(>i->manual_sensing_lock); + mutex_unlock(>i->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(>i->manual_sensing_lock); + ret = mutex_lock_interruptible(>i->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(>i->manual_sensing_lock); + mutex_unlock(>i->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(>i->manual_sensing_lock); + ret = mutex_lock_interruptible(>i->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(>i->manual_sensing_lock); + mutex_unlock(>i->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(>i->manual_sensing_lock); + ret = mutex_lock_interruptible(>i->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(>i->manual_sensing_lock); + mutex_unlock(>i->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(>i->manual_sensing_lock); + ret = mutex_lock_interruptible(>i->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(>i->manual_sensing_lock); + mutex_unlock(>i->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(>i->manual_sensing_lock); + ret = mutex_lock_interruptible(>i->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(>i->manual_sensing_lock); + mutex_unlock(>i->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(>i->input_lock); - mutex_init(>i->manual_sensing_lock); mutex_init(>i->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; |