diff options
author | Wendly Li <wendlyli@google.com> | 2023-02-23 09:28:15 +0000 |
---|---|---|
committer | Wendly Li <wendlyli@google.com> | 2023-03-08 10:15:31 +0000 |
commit | a04472525a4aae588e6894246d50304923fbcc76 (patch) | |
tree | ea76c63a8f881f3d38754567057074c6bb743650 | |
parent | e73c21c306f089eedaa4908346836515afb35257 (diff) | |
download | common-a04472525a4aae588e6894246d50304923fbcc76.tar.gz |
input: touch_offload: interface updates
- Added capabilities for coordinate filter
Bug: 269560488
Test: check coordinate filter works properly
Change-Id: I215541854e0248b72ad9e005a571d3e29df67ffb
Signed-off-by: Wendly Li <wendlyli@google.com>
-rw-r--r-- | include/uapi/input/touch_offload.h | 8 | ||||
-rw-r--r-- | touch_offload.c | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/include/uapi/input/touch_offload.h b/include/uapi/input/touch_offload.h index 4a10ba1..eb8af30 100644 --- a/include/uapi/input/touch_offload.h +++ b/include/uapi/input/touch_offload.h @@ -61,6 +61,7 @@ * filter_palm - driver supports disabling underlying palm rejection * num_sensitivity_settings - number of sensitivity options provided * auto_reporting - report heatmap when screen is not touched + * coord_filter - driver supports disabling underlying coordinate filter */ struct TouchOffloadCaps { /* Version info */ @@ -95,7 +96,8 @@ struct TouchOffloadCaps { __u8 filter_palm; __u8 num_sensitivity_settings; __u8 auto_reporting; - __u8 reserved4[32]; + __u8 coord_filter; + __u8 reserved4[31]; } __attribute__((packed)); /* TouchOffloadConfig @@ -107,6 +109,7 @@ struct TouchOffloadCaps { * filter_palm - enable underlying palm rejection * sensitivity_setting - selected sensitivity * auto_reporting - enable reporting when screen is not touched + * coord_filter - enable underlying coordinate filter * read_coords - allocate a channel to coordinate data * mutual_data_types - bitfield of mutual data types to collect * self_data_types - bitfield of self data types to collect @@ -122,7 +125,8 @@ struct TouchOffloadConfig { __u8 filter_palm; __u8 sensitivity_setting; __u8 auto_reporting; - __u8 reserved1[16]; + __u8 coord_filter; + __u8 reserved1[15]; /* Data to read */ __u8 read_coords; diff --git a/touch_offload.c b/touch_offload.c index 6f2dab8..7cb2470 100644 --- a/touch_offload.c +++ b/touch_offload.c @@ -502,7 +502,9 @@ static long touch_offload_ioctl(struct file *file, unsigned int ioctl_num, (configure.config.filter_palm && !context->caps.filter_palm) || (configure.config.auto_reporting && - !context->caps.auto_reporting)) { + !context->caps.auto_reporting) || + (configure.config.coord_filter && + !context->caps.coord_filter)) { pr_err("%s: Invalid configuration enables unsupported features!\n", __func__); err = -EINVAL; |