diff options
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp')
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp index 267b4b9..af4facc 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp @@ -1863,6 +1863,11 @@ int32_t ExynosDisplayDrmInterface::deliverWinConfigData() (plane->id() != static_cast<ExynosPrimaryDisplay *>(mExynosDisplay)->mRcdId)) continue; + /* If this plane is not supported by the CRTC binded with ExynosDisplay, + * it should be disabled by this ExynosDisplay */ + if (!plane->GetCrtcSupported(*mDrmCrtc)) + continue; + if ((ret = drmReq.atomicAddProperty(plane->id(), plane->crtc_property(), 0)) < 0) return ret; @@ -2008,6 +2013,11 @@ int32_t ExynosDisplayDrmInterface::clearDisplayPlanes(DrmModeAtomicReq &drmReq) (exynosMPP->mReservedDisplay != (int32_t)mExynosDisplay->mDisplayId)) continue; + /* If this plane is not supported by the CRTC binded with ExynosDisplay, + * it should not be disabled by this ExynosDisplay */ + if (!plane->GetCrtcSupported(*mDrmCrtc)) + continue; + if ((ret = drmReq.atomicAddProperty(plane->id(), plane->crtc_property(), 0)) < 0) { break; |