diff options
author | NT Tsai <nttsai@google.com> | 2022-06-02 12:31:20 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-06-02 12:31:20 +0000 |
commit | 0d5096e0b737eb49bc0c628b62e5531e5b9064c2 (patch) | |
tree | 4e9e0660e757917d2b947114b3213acbd3467077 | |
parent | 58415557bc2a3b9e83a55c0abf4d0d48286a751e (diff) | |
parent | 0876d4aae686b49c28ec84efe087296abe696533 (diff) | |
download | common-0d5096e0b737eb49bc0c628b62e5531e5b9064c2.tar.gz |
Merge "Revert "libhwc2.1: wait for peak refresh rate before enabling LHBM"" into tm-dev am: 0876d4aae6
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/google/graphics/common/+/18715146
Change-Id: I27436b52757e1731f5dcfc39126e61068dd6dbba
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | libhwc2.1/libdevice/ExynosDisplay.h | 10 | ||||
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | 4 | ||||
-rw-r--r-- | libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp | 16 | ||||
-rw-r--r-- | libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.h | 2 |
4 files changed, 0 insertions, 32 deletions
diff --git a/libhwc2.1/libdevice/ExynosDisplay.h b/libhwc2.1/libdevice/ExynosDisplay.h index 1875f94..5638c08 100644 --- a/libhwc2.1/libdevice/ExynosDisplay.h +++ b/libhwc2.1/libdevice/ExynosDisplay.h @@ -1243,13 +1243,6 @@ class ExynosDisplay { // is the hint session both enabled and supported bool usePowerHintSession(); - void setMinDisplayVsyncPeriod(uint32_t period) { mMinDisplayVsyncPeriod = period; } - - bool isCurrentPeakRefreshRate(void) { - return ((mConfigRequestState == hwc_request_state_t::SET_CONFIG_STATE_NONE) && - (mVsyncPeriod == mMinDisplayVsyncPeriod)); - } - private: bool skipStaticLayerChanged(ExynosCompositionInfo& compositionInfo); @@ -1264,9 +1257,6 @@ class ExynosDisplay { static constexpr float kHdrFullScreen = 0.5; uint32_t mHdrFullScrenAreaThreshold; - // vsync period of peak refresh rate - uint32_t mMinDisplayVsyncPeriod; - /* Display hint to notify power hal */ class PowerHalHintWorker : public Worker { public: diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp index 303033f..7ee98a7 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp @@ -879,7 +879,6 @@ int32_t ExynosDisplayDrmInterface::getDisplayConfigs( /* key: (width<<32 | height) */ std::map<uint64_t, uint32_t> groupIds; uint32_t groupId = 0; - uint32_t min_vsync_period = UINT_MAX; for (const DrmMode &mode : mDrmConnector->modes()) { displayConfigs_t configs; @@ -900,14 +899,11 @@ int32_t ExynosDisplayDrmInterface::getDisplayConfigs( configs.Xdpi = mm_width ? (mode.h_display() * kUmPerInch) / mm_width : -1; // Dots per 1000 inches configs.Ydpi = mm_height ? (mode.v_display() * kUmPerInch) / mm_height : -1; - // find min vsync period - if (configs.vsyncPeriod <= min_vsync_period) min_vsync_period = configs.vsyncPeriod; mExynosDisplay->mDisplayConfigs.insert(std::make_pair(mode.id(), configs)); ALOGD("config group(%d), w(%d), h(%d), vsync(%d), xdpi(%d), ydpi(%d)", configs.groupId, configs.width, configs.height, configs.vsyncPeriod, configs.Xdpi, configs.Ydpi); } - mExynosDisplay->setMinDisplayVsyncPeriod(min_vsync_period); } uint32_t num_modes = static_cast<uint32_t>(mDrmConnector->modes().size()); diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp index 633b1d7..d20a313 100644 --- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp +++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp @@ -495,22 +495,6 @@ int32_t ExynosPrimaryDisplay::SetCurrentPanelGammaSource(const DisplayType type, int32_t ExynosPrimaryDisplay::setLhbmState(bool enabled) { ATRACE_CALL(); - if (enabled) { - ATRACE_NAME("wait for peak refresh rate"); - for (int32_t i = 0; i <= kLhbmWaitForPeakRefreshRate; i++) { - if (!isCurrentPeakRefreshRate()) { - if (i == kLhbmWaitForPeakRefreshRate) { - ALOGW("setLhbmState(on) wait for peak refresh rate timeout !"); - return TIMED_OUT; - } - usleep(mVsyncPeriod / 1000 + 1); - } else { - ALOGI_IF(i, "waited %d vsync to reach peak refresh rate", i); - break; - } - } - } - requestLhbm(enabled); ALOGI("setLhbmState =%d", enabled); diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.h b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.h index c4d79ea..e544749 100644 --- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.h +++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.h @@ -103,8 +103,6 @@ class ExynosPrimaryDisplay : public ExynosDisplay { bool mLhbmOn; bool mLhbmChanged; int32_t mFramesToReachLhbmPeakBrightness; - // wait num of vsync periods for peak refresh rate - static constexpr uint32_t kLhbmWaitForPeakRefreshRate = 10; std::mutex lhbm_mutex_; std::condition_variable lhbm_cond_; |