diff options
author | Adrian Salido <salidoa@google.com> | 2021-03-18 20:38:21 -0700 |
---|---|---|
committer | Adrian Salido <salidoa@google.com> | 2021-05-04 20:02:21 +0000 |
commit | b4d215eeb5c60a2cd10960370c626ec78904647b (patch) | |
tree | b8ae69dfd757cfe91d9024634dc0343404ef9a0e | |
parent | 6f16577fb9b0664dc71131d40aeb91fbf6e62d10 (diff) | |
download | sec_touch-b4d215eeb5c60a2cd10960370c626ec78904647b.tar.gz |
touch/sec: look at display effectively active state
This adds support to check if display is in self refresh mode.
In that case touch should still be active.
Bug: 180539030
Signed-off-by: Adrian Salido <salidoa@google.com>
Change-Id: Iee1465ff014daf1e9d7edc7ee59e83cd38ed4272
-rw-r--r-- | sec_ts.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -5456,6 +5456,13 @@ static void panel_bridge_disable(struct drm_bridge *bridge) struct sec_ts_data *ts = container_of(bridge, struct sec_ts_data, panel_bridge); + if (bridge->encoder && bridge->encoder->crtc) { + const struct drm_crtc_state *crtc_state = bridge->encoder->crtc->state; + + if (drm_atomic_crtc_effectively_active(crtc_state)) + return; + } + pr_debug("%s\n", __func__); sec_ts_set_bus_ref(ts, SEC_TS_BUS_REF_SCREEN_ON, false); } |