summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
diff options
context:
space:
mode:
authorWeizhung Ding <weizhungding@google.com>2023-04-26 17:13:24 +0800
committerWeizhung Ding <weizhungding@google.com>2023-05-10 18:11:06 +0800
commit536007c1efe2cba081681c69c5d1298209ace460 (patch)
tree10485b56c2f8143c27247bd98eec58ba60265ce3 /libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
parent1d1544b52c5c156b82dc31ae4be6ae62efb2d661 (diff)
libhwc2.1: skip async_off if multiple displays are enabled
Bug: 271818029 Test: display on/off Change-Id: Id1de11148e988fc3c6a831c40c6fc0de42aa04b8
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp')
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
index 6a2be7d..86ce1c5 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
@@ -2000,7 +2000,8 @@ int32_t ExynosDisplayDrmInterface::clearDisplayPlanes(DrmModeAtomicReq &drmReq)
int32_t ExynosDisplayDrmInterface::clearDisplay(bool needModeClear)
{
ExynosDevice *exynosDevice = mExynosDisplay->mDevice;
- const bool isAsyncOff = needModeClear && exynosDevice->isDispOffAsyncSupported();
+ const bool isAsyncOff = needModeClear && exynosDevice->isDispOffAsyncSupported() &&
+ !exynosDevice->hasOtherDisplayOn(mExynosDisplay);
int ret = NO_ERROR;
DrmModeAtomicReq drmReq(this);