summaryrefslogtreecommitdiff
path: root/goog_touch_interface.h
diff options
context:
space:
mode:
authorSuper Liu <supercjliu@google.com>2022-04-11 16:43:25 +0800
committerSuper Liu <supercjliu@google.com>2022-04-12 14:41:45 +0800
commit3c7fee9c9b5246352bcecb95726f064574cc20cf (patch)
tree63706028ef627994b68bffc51f73f986743019f6 /goog_touch_interface.h
parentad19261fdbb341422eb972cd6c21c1854bc47f3e (diff)
downloadcommon-3c7fee9c9b5246352bcecb95726f064574cc20cf.tar.gz
touch/common: GTI support panel bridge registration.
Bug: 219658467 Signed-off-by: Super Liu <supercjliu@google.com> Change-Id: I68e3c70bad9ab52c091060f1a15af2bb420d4454
Diffstat (limited to 'goog_touch_interface.h')
-rw-r--r--goog_touch_interface.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/goog_touch_interface.h b/goog_touch_interface.h
index ad57805..848a62c 100644
--- a/goog_touch_interface.h
+++ b/goog_touch_interface.h
@@ -8,6 +8,10 @@
#ifndef _GOOG_TOUCH_INTERFACE_
#define _GOOG_TOUCH_INTERFACE_
+#include <drm/drm_panel.h>
+#include <drm/drm_bridge.h>
+#include <drm/drm_connector.h>
+
#include "heatmap.h"
#include "touch_offload.h"
#include "uapi/input/touch_offload.h"
@@ -55,6 +59,23 @@ enum {
* size: N/A.
*/
GTI_CMD_SET_CONTINUOUS_REPORT,
+
+ /*
+ * GTI_CMD_NOTIFY_DISPLAY_STATE:
+ * specific sub_cmd: GTI_SUB_CMD_DISPLAY_STATE_*.
+ * buffer: N/A.
+ * size: N/A.
+ */
+ GTI_CMD_NOTIFY_DISPLAY_STATE,
+
+ /*
+ * GTI_CMD_NOTIFY_DISPLAY_VREFRESH:
+ * specific sub_cmd: display vrefresh in Hz.
+ * buffer: N/A.
+ * size: N/A.
+ */
+ GTI_CMD_NOTIFY_DISPLAY_VREFRESH,
+
};
enum {
@@ -63,6 +84,11 @@ enum {
GTI_SUB_CMD_DRIVER_DEFAULT,
};
+enum {
+ GTI_SUB_CMD_DISPLAY_STATE_OFF = 0,
+ GTI_SUB_CMD_DISPLAY_STATE_ON,
+};
+
/**
* Motion filter finite state machine (FSM) state.
* GTI_MF_STATE_FILTERED: default coordinate filtering
@@ -101,12 +127,16 @@ enum {
* @offload: struct that used by touch offload.
* @offload_frame: reserved frame that used by touch offload.
* @v4l2: struct that used by v4l2.
+ * @panel_bridge: struct that used to register panel bridge notification.
+ * @connector: struct that used to get panel status.
* @input_timestamp: input timestamp from touch vendor driver.
* @mf_downtime: timestamp for motion filter control.
+ * @display_vrefresh: display vrefresh in Hz.
* @grip_setting: current grip setting.
* @palm_setting: current palm setting.
* @mf_mode: current motion filter mode.
* @mf_state: current motion filter state.
+ * @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.
@@ -130,14 +160,18 @@ struct goog_touch_interface {
struct touch_offload_context offload;
struct touch_offload_frame *offload_frame;
struct v4l2_heatmap v4l2;
+ struct drm_bridge panel_bridge;
+ struct drm_connector *connector;
ktime_t input_timestamp;
ktime_t mf_downtime;
+ int display_vrefresh;
u32 grip_setting;
u32 palm_setting;
u32 mf_mode;
u32 mf_state;
+ bool panel_is_lp_mode;
bool force_legacy_report;
bool offload_enable;
bool v4l2_enable;