summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsdm/libs/core/display_base.cpp2
-rw-r--r--sdm/libs/core/display_base.h2
-rw-r--r--sdm/libs/core/display_builtin.cpp6
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;