summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp')
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
index bb940ad..1984d7b 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
@@ -1094,7 +1094,11 @@ int32_t ExynosDisplayDrmInterface::setActiveConfigWithConstraints(
(mActiveModeState.blob_id != 0) && mActiveModeState.isFullModeSwitch(*mode);
if (!test) {
- mDesiredModeState.setMode(*mode, modeBlob, drmReq);
+ if (modeBlob) { /* only replace desired mode if it has changed */
+ mDesiredModeState.setMode(*mode, modeBlob, drmReq);
+ } else {
+ ALOGD("%s:: same desired mode %d", __func__, config);
+ }
} else {
if (!isResSwitch) {
ret = setDisplayMode(drmReq, modeBlob ? modeBlob : mDesiredModeState.blob_id);