summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqctecmdr <qctecmdr@localhost>2020-11-11 06:49:54 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2020-11-11 06:49:54 -0800
commit24cebbf2725152b6a8228b9a241e0bd9c6e83610 (patch)
tree0c62e034671cdbb5f210125889cb5a114078a6ef
parent4253dee7c25713d5e92990e89111dce541da8967 (diff)
parent472b05f0cd273e287c3ddddf00e4ae209e8d4540 (diff)
Merge "sdm: do not skip validate"
-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;