Snap for 5771674 from 27b5ed1da4405b7aa34deaec5120465e0fced89f to qt-c2f2-release

Change-Id: I3fa57793f61729a7d1e734722f404570507a6918
diff --git a/sdm/libs/core/display_builtin.cpp b/sdm/libs/core/display_builtin.cpp
index 26f336b..6802d8d 100644
--- a/sdm/libs/core/display_builtin.cpp
+++ b/sdm/libs/core/display_builtin.cpp
@@ -320,6 +320,15 @@
   return DisplayBase::SetActiveConfig(index);
 }
 
+DisplayError DisplayBuiltIn::GetActiveConfig(uint32_t *index) {
+  lock_guard<recursive_mutex> obj(recursive_mutex_);
+  if (index && pendingActiveConfig != UINT_MAX) {
+    *index = pendingActiveConfig;
+    return kErrorNone;
+  }
+  return DisplayBase::GetActiveConfig(index);
+}
+
 void DisplayBuiltIn::SetIdleTimeoutMs(uint32_t active_ms) {
   lock_guard<recursive_mutex> obj(recursive_mutex_);
   comp_manager_->SetIdleTimeoutMs(display_comp_ctx_, active_ms);
diff --git a/sdm/libs/core/display_builtin.h b/sdm/libs/core/display_builtin.h
index 65d72c1..7647eb7 100644
--- a/sdm/libs/core/display_builtin.h
+++ b/sdm/libs/core/display_builtin.h
@@ -106,6 +106,7 @@
   virtual DisplayError SetDisplayState(DisplayState state, bool teardown,
                                        int *release_fence);
   virtual DisplayError SetActiveConfig(uint32_t index) override;
+  virtual DisplayError GetActiveConfig(uint32_t *index) override;
   virtual void SetIdleTimeoutMs(uint32_t active_ms);
   virtual DisplayError SetDisplayMode(uint32_t mode);
   virtual DisplayError GetRefreshRateRange(uint32_t *min_refresh_rate, uint32_t *max_refresh_rate);