diff options
author | joenchen <joenchen@google.com> | 2023-05-02 03:19:23 +0000 |
---|---|---|
committer | joenchen <joenchen@google.com> | 2023-05-12 09:59:54 +0000 |
commit | 72c453d6e93c6a8646fa7a301948114b6e29b861 (patch) | |
tree | 59c297595bf3de74a32255170d93f83d95b70a9e /libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | |
parent | 466f2a9cfec1a64a204b15d0cb04a3989cbc4797 (diff) |
libhwc2.1: disconnect link between plane and crtc after power on
HWC cannot just assign a plane’s crtc from crtc-0 to crtc-1 directly,
and it must turn off the plane first
Bug: 277874775
Test: enable/disable DDC in translation app
Change-Id: I7771821fc618528f63610449c506ed93ec8a8ddc
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp')
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp index af4facc..27d541b 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp @@ -2000,6 +2000,21 @@ int32_t ExynosDisplayDrmInterface::clearDisplayMode(DrmModeAtomicReq &drmReq) return NO_ERROR; } +int32_t ExynosDisplayDrmInterface::triggerClearDisplayPlanes() +{ + ATRACE_CALL(); + DrmModeAtomicReq drmReq(this); + + clearDisplayPlanes(drmReq); + int ret = NO_ERROR; + if ((ret = drmReq.commit(0, true))) { + HWC_LOGE(mExynosDisplay, "%s:: Failed to commit pset ret=(%d)\n", + __func__, ret); + return ret; + } + return ret; +} + int32_t ExynosDisplayDrmInterface::clearDisplayPlanes(DrmModeAtomicReq &drmReq) { int ret = NO_ERROR; |