diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2022-06-09 07:16:29 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-06-09 07:16:29 +0000 |
commit | 7324e6459d55ca5714a0e31ae2b85d508387db93 (patch) | |
tree | 75d231fc860f9ee34ff424d512110267547df67c /libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | |
parent | 89d435a5f55553d4e400f49bcab0e898f84806ed (diff) | |
parent | 5ed4a469b334a8287ba8fa1b845c465d7dc07cdc (diff) |
Merge "libhwc2.1: correct config state and vsync period" into tm-dev
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp')
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp index 303033f..82286a1 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; } |