Merge TQ1A.230105.002 to aosp-master - DO NOT MERGE

Merged-In: I2f2ea1b229489b5aed597442c4a90295837f8204
Merged-In: Iae84a2b7fb67498a5e5b5a7c27660adb7cbe9398

Change-Id: Iaee691fcff9724c1f11653751a3689b6f094b7db
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 @@
             (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);