diff options
-rwxr-xr-x | sdm/libs/core/display_base.cpp | 2 | ||||
-rw-r--r-- | sdm/libs/core/display_base.h | 2 | ||||
-rw-r--r-- | sdm/libs/core/display_builtin.cpp | 6 |
3 files changed, 8 insertions, 2 deletions
diff --git a/sdm/libs/core/display_base.cpp b/sdm/libs/core/display_base.cpp index cc2855e1..ba2733d9 100755 --- a/sdm/libs/core/display_base.cpp +++ b/sdm/libs/core/display_base.cpp @@ -1980,7 +1980,7 @@ bool DisplayBase::IsHdrMode(const AttrVal &attr) { } bool DisplayBase::CanSkipValidate() { - return comp_manager_->CanSkipValidate(display_comp_ctx_) && !lut_swap_; + return (!is_idle_timeout_) && comp_manager_->CanSkipValidate(display_comp_ctx_) && !lut_swap_; } void DisplayBase::SetLutSwapFlag() { diff --git a/sdm/libs/core/display_base.h b/sdm/libs/core/display_base.h index 95072483..5b13bcc4 100644 --- a/sdm/libs/core/display_base.h +++ b/sdm/libs/core/display_base.h @@ -185,7 +185,7 @@ class DisplayBase : public DisplayInterface { void InsertBT2020PqHlgModes(); DisplayError HandlePendingVSyncEnable(int32_t retire_fence); DisplayError HandlePendingPowerState(int32_t retire_fence); - + bool is_idle_timeout_ = false; recursive_mutex recursive_mutex_; int32_t display_id_ = -1; DisplayType display_type_; diff --git a/sdm/libs/core/display_builtin.cpp b/sdm/libs/core/display_builtin.cpp index 4cdf9d83..2e76a574 100644 --- a/sdm/libs/core/display_builtin.cpp +++ b/sdm/libs/core/display_builtin.cpp @@ -466,6 +466,12 @@ DisplayError DisplayBuiltIn::SetRefreshRate(uint32_t refresh_rate, bool final_ra return error; } + if (handle_idle_timeout_) { + is_idle_timeout_ = true; + } else { + is_idle_timeout_ = false; + } + error = comp_manager_->CheckEnforceSplit(display_comp_ctx_, refresh_rate); if (error != kErrorNone) { return error; |