summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dmitri Plotnikov <dplotnikov@google.com> 2022-10-07 18:12:28 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-10-07 18:12:28 +0000
commitd33ca055a56267cd9785a4fbe34e65d2daee7675 (patch)
treec6a8a6c4ccb7868b8eb9cc52b718889625afc28b
parent7726cdd61cd98679c73631150833f4fa1f59cd5e (diff)
parent6cd1c3dc4e84a7c43b85b14e58e61b37df77f872 (diff)
Merge "Fix CPU power bracket initialization when /proc/uid_time_in_state file is unsupported"
-rw-r--r--services/core/java/com/android/server/power/stats/BatteryStatsImpl.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java
index 6e931717c1dd..77fb360ffb85 100644
--- a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java
+++ b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java
@@ -10818,6 +10818,8 @@ public class BatteryStatsImpl extends BatteryStats {
public void setPowerProfileLocked(PowerProfile profile) {
mPowerProfile = profile;
+ int totalSpeedStepCount = 0;
+
// We need to initialize the KernelCpuSpeedReaders to read from
// the first cpu of each core. Once we have the PowerProfile, we have access to this
// information.
@@ -10829,11 +10831,12 @@ public class BatteryStatsImpl extends BatteryStats {
mKernelCpuSpeedReaders[i] = new KernelCpuSpeedReader(firstCpuOfCluster,
numSpeedSteps);
firstCpuOfCluster += mPowerProfile.getNumCoresInCpuCluster(i);
+ totalSpeedStepCount += numSpeedSteps;
}
// Initialize CPU power bracket map, which combines CPU states (cluster/freq pairs)
// into a small number of brackets
- mCpuPowerBracketMap = new int[getCpuFreqCount()];
+ mCpuPowerBracketMap = new int[totalSpeedStepCount];
int index = 0;
int numCpuClusters = mPowerProfile.getNumCpuClusters();
for (int cluster = 0; cluster < numCpuClusters; cluster++) {