diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2021-09-26 23:48:39 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2021-09-26 23:48:39 -0700 |
commit | 2dc792e927b7a7d8bd1f8ac9f85b605c2a029d06 (patch) | |
tree | 8484df17492d908cb7a6ded90ff181e77ee111b7 | |
parent | ab3d9090a646071d6c07d2c083de2026983d4214 (diff) | |
parent | a917b9c6dd84d71ff0385e416b910978fc17e454 (diff) |
Merge a917b9c6dd84d71ff0385e416b910978fc17e454 on remote branch
Change-Id: I2d39c9fd740ee2c25be939ccf8d99e3a3977f1b1
-rw-r--r-- | composer/hwc_display_builtin.cpp | 7 | ||||
-rw-r--r-- | sdm/include/private/hw_info_types.h | 2 | ||||
-rw-r--r-- | sdm/include/private/rc_intf.h | 4 | ||||
-rw-r--r-- | sdm/libs/core/display_base.cpp | 18 | ||||
-rw-r--r-- | sdm/libs/core/display_base.h | 1 |
5 files changed, 9 insertions, 23 deletions
diff --git a/composer/hwc_display_builtin.cpp b/composer/hwc_display_builtin.cpp index 486534a7..7d1cdf94 100644 --- a/composer/hwc_display_builtin.cpp +++ b/composer/hwc_display_builtin.cpp @@ -1648,6 +1648,13 @@ void HWCDisplayBuiltIn::SetCpuPerfHintLargeCompCycle() { return; } + //Send large comp cycle hint only for fps >= 90 + if (active_refresh_rate_ < 90) { + DLOGV_IF(kTagResources, "Skip large comp cycle hint for current fps - %u", + active_refresh_rate_); + return; + } + for (auto hwc_layer : layer_set_) { Layer *layer = hwc_layer->GetSDMLayer(); if (layer->composition == kCompositionGPU) { diff --git a/sdm/include/private/hw_info_types.h b/sdm/include/private/hw_info_types.h index b3ee37ed..342ab09b 100644 --- a/sdm/include/private/hw_info_types.h +++ b/sdm/include/private/hw_info_types.h @@ -715,8 +715,6 @@ struct HWLayersInfo { bool game_present = false; // Indicates there is game layer or not bool rc_config = false; RCLayersInfo rc_layers_info = {}; - uint64_t rc_pu_flag_status = 0; - bool rc_pu_needs_full_roi = false; }; struct HWQosData { diff --git a/sdm/include/private/rc_intf.h b/sdm/include/private/rc_intf.h index 31c99a35..a43e5633 100644 --- a/sdm/include/private/rc_intf.h +++ b/sdm/include/private/rc_intf.h @@ -36,8 +36,6 @@ #include "generic_intf.h" #include "generic_payload.h" -#define SDE_HW_PU_USECASE 0x1000 - namespace sdm { struct RCInputConfig { @@ -69,7 +67,7 @@ enum RCMaskStackStatus { struct RCMaskCfgState { RCMaskStackStatus rc_mask_state = kStatusIgnore; - bool rc_pu_full_roi = false; + bool rc_pu_full_roi = false; // Unused, as driver is handling PU }; // RC specific params as enum diff --git a/sdm/libs/core/display_base.cpp b/sdm/libs/core/display_base.cpp index 377a18dd..8cccbf98 100644 --- a/sdm/libs/core/display_base.cpp +++ b/sdm/libs/core/display_base.cpp @@ -367,7 +367,6 @@ DisplayError DisplayBase::Prepare(LayerStack *layer_stack) { hw_layers_.updates_mask.set(kUpdateResources); comp_manager_->GenerateROI(display_comp_ctx_, &hw_layers_); - rc_pu_flag_status_ = hw_layers_.info.rc_pu_flag_status; comp_manager_->PrePrepare(display_comp_ctx_, &hw_layers_); @@ -477,21 +476,13 @@ DisplayError DisplayBase::Commit(LayerStack *layer_stack) { if (rc_panel_feature_init_) { GenericPayload in, out; RCMaskCfgState *mask_status = nullptr; - uint64_t *rc_pu_flag_status = nullptr; int ret = -1; ret = out.CreatePayload<RCMaskCfgState>(mask_status); if (ret) { DLOGE("failed to create the payload. Error:%d", ret); return kErrorUndefined; } - ret = in.CreatePayload<uint64_t>(rc_pu_flag_status); - if (ret) { - DLOGE("failed to create the payload. Error:%d", ret); - return kErrorUndefined; - } - *rc_pu_flag_status = rc_pu_flag_status_; ret = rc_core_->ProcessOps(kRCFeatureCommit, in, &out); - hw_layers_.info.rc_pu_needs_full_roi = (*mask_status).rc_pu_full_roi; if (ret) { // If RC commit failed, fall back to default (GPU/SDE pipes) drawing of "handled" mask layers. DLOGW("Failed to set the data on driver for display: %d-%d, Error: %d, status: %d", @@ -508,14 +499,7 @@ DisplayError DisplayBase::Commit(LayerStack *layer_stack) { return kErrorNotValidated; } } else { - DLOGI_IF(kTagDisplay, "Status of RC mask data: %d., pu_rc_status_: 0x%" PRIx64, - (*mask_status).rc_mask_state, rc_pu_flag_status_); - if ((*mask_status).rc_pu_full_roi) { - if (rc_pu_flag_status_ && rc_pu_flag_status_ != SDE_HW_PU_USECASE) { - needs_validate_ = true; - return kErrorNotValidated; - } - } + DLOGI_IF(kTagDisplay, "Status of RC mask data: %d.", (*mask_status).rc_mask_state); if ((*mask_status).rc_mask_state == kStatusRcMaskStackDirty) { needs_validate_ = true; DLOGI_IF(kTagDisplay, "Mask is ready for display %d-%d, call Corresponding Prepare()", diff --git a/sdm/libs/core/display_base.h b/sdm/libs/core/display_base.h index 3473fcb0..69036fb1 100644 --- a/sdm/libs/core/display_base.h +++ b/sdm/libs/core/display_base.h @@ -274,7 +274,6 @@ class DisplayBase : public DisplayInterface { unsigned int rc_cached_res_width_ = 0; unsigned int rc_cached_res_height_ = 0; std::unique_ptr<RCIntf> rc_core_ = nullptr; - uint64_t rc_pu_flag_status_ = 0; }; } // namespace sdm |