Merge "Get vsync period for ADPF CPU hints in SF using display mode" into tm-qpr-dev am: a1c057f027

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/19476583

Change-Id: I5d597987a505927c2dd13b7026657831f6ffd265
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index cbc068f..8621d31 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2087,11 +2087,9 @@
     // Save this once per commit + composite to ensure consistency
     mPowerHintSessionEnabled = mPowerAdvisor->usePowerHintSession();
     if (mPowerHintSessionEnabled) {
-        nsecs_t vsyncPeriod;
-        {
-            Mutex::Autolock lock(mStateLock);
-            vsyncPeriod = getVsyncPeriodFromHWC();
-        }
+        const auto& display = FTL_FAKE_GUARD(mStateLock, getDefaultDisplayDeviceLocked()).get();
+        // get stable vsync period from display mode
+        const nsecs_t vsyncPeriod = display->getActiveMode()->getVsyncPeriod();
         mPowerAdvisor->setCommitStart(frameTime);
         mPowerAdvisor->setExpectedPresentTime(mExpectedPresentTime);
         const nsecs_t idealSfWorkDuration =