summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Marin Shalamanov <shalamanov@google.com> 2020-11-06 13:05:57 +0100
committer Marin Shalamanov <shalamanov@google.com> 2020-11-06 13:08:08 +0100
commitb6674e7a8d9b78fd75065429f5f173f1fdacde6f (patch)
tree3c0bc0d12533b1ed41cc1e8d5d47e9bfb3f76387
parentec5c5174b7dbafe3a5096e228b616cf2855afc26 (diff)
Add logging when refresh rate policy is invalid
Add some logging so we can more easily debug situations where the refrash rate policy is invalid. Bug: 172637939 Test: presubmit Change-Id: I7309f8aa93e4d02d5fecf65ab3b671037180d92c
-rw-r--r--services/surfaceflinger/Scheduler/RefreshRateConfigs.cpp5
-rw-r--r--services/surfaceflinger/Scheduler/RefreshRateConfigs.h2
2 files changed, 5 insertions, 2 deletions
diff --git a/services/surfaceflinger/Scheduler/RefreshRateConfigs.cpp b/services/surfaceflinger/Scheduler/RefreshRateConfigs.cpp
index 7d97e72fbb..150f925fe0 100644
--- a/services/surfaceflinger/Scheduler/RefreshRateConfigs.cpp
+++ b/services/surfaceflinger/Scheduler/RefreshRateConfigs.cpp
@@ -48,7 +48,7 @@ std::string RefreshRateConfigs::layerVoteTypeString(LayerVoteType vote) {
}
}
-std::string RefreshRateConfigs::Policy::toString() {
+std::string RefreshRateConfigs::Policy::toString() const {
return base::StringPrintf("default config ID: %d, allowGroupSwitching = %d"
", primary range: [%.2f %.2f], app request range: [%.2f %.2f]",
defaultConfig.value(), allowGroupSwitching, primaryRange.min,
@@ -433,10 +433,12 @@ bool RefreshRateConfigs::isPolicyValid(const Policy& policy) {
// defaultConfig must be a valid config, and within the given refresh rate range.
auto iter = mRefreshRates.find(policy.defaultConfig);
if (iter == mRefreshRates.end()) {
+ ALOGE("Default config is not found.");
return false;
}
const RefreshRate& refreshRate = *iter->second;
if (!refreshRate.inPolicy(policy.primaryRange.min, policy.primaryRange.max)) {
+ ALOGE("Default config is not in the primary range.");
return false;
}
return policy.appRequestRange.min <= policy.primaryRange.min &&
@@ -446,6 +448,7 @@ bool RefreshRateConfigs::isPolicyValid(const Policy& policy) {
status_t RefreshRateConfigs::setDisplayManagerPolicy(const Policy& policy) {
std::lock_guard lock(mLock);
if (!isPolicyValid(policy)) {
+ ALOGE("Invalid refresh rate policy: %s", policy.toString().c_str());
return BAD_VALUE;
}
Policy previousPolicy = *getCurrentPolicyLocked();
diff --git a/services/surfaceflinger/Scheduler/RefreshRateConfigs.h b/services/surfaceflinger/Scheduler/RefreshRateConfigs.h
index 5cf7d07a38..8ff92a095c 100644
--- a/services/surfaceflinger/Scheduler/RefreshRateConfigs.h
+++ b/services/surfaceflinger/Scheduler/RefreshRateConfigs.h
@@ -166,7 +166,7 @@ public:
}
bool operator!=(const Policy& other) const { return !(*this == other); }
- std::string toString();
+ std::string toString() const;
};
// Return code set*Policy() to indicate the current policy is unchanged.