Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6cd1c3dc authored by Dmitri Plotnikov's avatar Dmitri Plotnikov
Browse files

Fix CPU power bracket initialization when /proc/uid_time_in_state file is unsupported

Bug: 251552446
Test: atest FrameworksServicesTests
Change-Id: I99c4133b2eef8cb52760fe60f378860da36583d3
parent 9e1f0003
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -10818,6 +10818,8 @@ public class BatteryStatsImpl extends BatteryStats {
    public void setPowerProfileLocked(PowerProfile profile) {
    public void setPowerProfileLocked(PowerProfile profile) {
        mPowerProfile = profile;
        mPowerProfile = profile;
        int totalSpeedStepCount = 0;
        // We need to initialize the KernelCpuSpeedReaders to read from
        // 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
        // the first cpu of each core. Once we have the PowerProfile, we have access to this
        // information.
        // information.
@@ -10829,11 +10831,12 @@ public class BatteryStatsImpl extends BatteryStats {
            mKernelCpuSpeedReaders[i] = new KernelCpuSpeedReader(firstCpuOfCluster,
            mKernelCpuSpeedReaders[i] = new KernelCpuSpeedReader(firstCpuOfCluster,
                    numSpeedSteps);
                    numSpeedSteps);
            firstCpuOfCluster += mPowerProfile.getNumCoresInCpuCluster(i);
            firstCpuOfCluster += mPowerProfile.getNumCoresInCpuCluster(i);
            totalSpeedStepCount += numSpeedSteps;
        }
        }
        // Initialize CPU power bracket map, which combines CPU states (cluster/freq pairs)
        // Initialize CPU power bracket map, which combines CPU states (cluster/freq pairs)
        // into a small number of brackets
        // into a small number of brackets
        mCpuPowerBracketMap = new int[getCpuFreqCount()];
        mCpuPowerBracketMap = new int[totalSpeedStepCount];
        int index = 0;
        int index = 0;
        int numCpuClusters = mPowerProfile.getNumCpuClusters();
        int numCpuClusters = mPowerProfile.getNumCpuClusters();
        for (int cluster = 0; cluster < numCpuClusters; cluster++) {
        for (int cluster = 0; cluster < numCpuClusters; cluster++) {