diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-12-20 01:38:12 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-12-20 01:38:12 +0000 |
commit | fa56eb2e2123afa5eb80369e6bb08c28909db637 (patch) | |
tree | 6a678203912c585e703e046e9ce7ce9226ed8d2b | |
parent | bf14cd787628241acb437efb4a2630b85c52bd34 (diff) | |
parent | 545857ad2b24f4bf693a5cc4337122672b5670ad (diff) | |
download | common-android14-d2-s1-release.tar.gz |
Merge cherrypicks of ['googleplex-android-review.googlesource.com/25269146', 'googleplex-android-review.googlesource.com/25692509'] into udc-d2-release.android-14.0.0_r45android-14.0.0_r44android-14.0.0_r43android-14.0.0_r42android-14.0.0_r41android-14.0.0_r40android-14.0.0_r39android-14.0.0_r38android14-d2-s5-releaseandroid14-d2-s4-releaseandroid14-d2-s3-releaseandroid14-d2-s2-releaseandroid14-d2-s1-releaseandroid14-d2-release
Change-Id: I189eb5ed18a79f717dae26fabf3ed50af470cc4d
-rw-r--r-- | libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp index 6cc6da8..622f0f2 100644 --- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp +++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp @@ -233,11 +233,20 @@ int32_t ExynosPrimaryDisplay::setActiveConfigInternal(hwc2_config_t config, bool return ExynosDisplay::setActiveConfigInternal(config, force); } +// If a display is Off, applyPendingConfig() calls to setActiveConfig() that also +// power on the display by a blocking commit. int32_t ExynosPrimaryDisplay::applyPendingConfig() { - if (!isConfigSettingEnabled()) return HWC2_ERROR_NONE; + if (!isConfigSettingEnabled()) { + ALOGI("%s:: config setting is disabled", __func__); + if (mPowerModeState.has_value() && (*mPowerModeState == HWC2_POWER_MODE_ON)) { + ALOGI("%s:: skip apply pending config", __func__); + return HWC2_ERROR_NONE; + } + } hwc2_config_t config; if (mPendingConfig != UINT_MAX) { + ALOGI("%s:: mPendingConfig: %d", __func__, mPendingConfig); config = mPendingConfig; mPendingConfig = UINT_MAX; } else { @@ -578,7 +587,7 @@ bool ExynosPrimaryDisplay::isConfigSettingEnabled() { void ExynosPrimaryDisplay::enableConfigSetting(bool en) { DISPLAY_ATRACE_INT("ConfigSettingDisabled", !en); - + ALOGI("%s:: mConfigSettingDisabled: %d", __func__, !en); if (!en) { mConfigSettingDisabled = true; mConfigSettingDisabledTimestamp = systemTime(SYSTEM_TIME_MONOTONIC); |