summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2022-06-09 07:59:57 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-06-09 07:59:57 +0000
commit10554b33eac4a1a6abaed1967a38e3e245e644b9 (patch)
tree8aac852068def3f8a56341ebc1d7ef0a836b826d /libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
parent9e52c06697f2087b4c10b3c2f4123477674eb4e7 (diff)
parent7324e6459d55ca5714a0e31ae2b85d508387db93 (diff)
Merge "libhwc2.1: correct config state and vsync period" into tm-dev am: 7324e6459d
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/google/graphics/common/+/18753590 Change-Id: Icceb462c818166158f27e36a342aaccc67aa2783 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp')
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
index e9509dc..d03b5b7 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
@@ -696,7 +696,7 @@ void ExynosDisplayDrmInterface::Callback(
if (configApplied) {
if (mVsyncCallback.getDesiredVsyncPeriod()) {
- mExynosDisplay->resetConfigRequestStateLocked();
+ mExynosDisplay->resetConfigRequestStateLocked(mActiveModeState.mode.id());
mDrmConnector->set_active_mode(mActiveModeState.mode);
mVsyncCallback.resetDesiredVsyncPeriod();
}
@@ -1068,6 +1068,9 @@ int32_t ExynosDisplayDrmInterface::setActiveConfigWithConstraints(
if ((mActiveModeState.blob_id != 0) &&
(mActiveModeState.mode.id() == config)) {
ALOGD("%s:: same mode %d", __func__, config);
+ /* trigger resetConfigRequestStateLocked() */
+ mVsyncCallback.setDesiredVsyncPeriod(nsecsPerSec / mActiveModeState.mode.v_refresh());
+ mDrmVSyncWorker.VSyncControl(true);
return HWC2_ERROR_NONE;
}