diff options
author | Benjamin Schwartz <bsschwar@google.com> | 2021-03-09 09:02:06 -0800 |
---|---|---|
committer | Benjamin Schwartz <bsschwar@google.com> | 2021-03-09 10:27:55 -0800 |
commit | 0d6392efa620a19b51b1c2ccd329df72a531d26d (patch) | |
tree | c9052ef5f88c7ff7ff95defd103cf01990033870 /powerstats/UfsStateResidencyDataProvider.cpp | |
parent | d287e223f4da5acca32fde80f31ad009c0ef556a (diff) |
Remove power stats HAL 1.0 service
Bug: 179527556
Test: dumpsys android.hardware.power.stats.IPowerStats/default
Test: device boot and examined logs to make sure no errors related to
missing power stats 1.0
Change-Id: Ib8cc394f9968edaf948a2d9700e9f7fcaa5b9dc0
Diffstat (limited to 'powerstats/UfsStateResidencyDataProvider.cpp')
-rw-r--r-- | powerstats/UfsStateResidencyDataProvider.cpp | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/powerstats/UfsStateResidencyDataProvider.cpp b/powerstats/UfsStateResidencyDataProvider.cpp deleted file mode 100644 index 7ca6f3bb..00000000 --- a/powerstats/UfsStateResidencyDataProvider.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (C) 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#define LOG_TAG "libpixelpowerstats" - -#include "UfsStateResidencyDataProvider.h" - -#include <android-base/logging.h> -#include <android-base/parseint.h> -#include <android-base/strings.h> - -#include <string> -#include <utility> - -using android::base::ParseUint; -using android::base::Split; -using android::base::StartsWith; -using android::base::Trim; - -namespace android { -namespace hardware { -namespace google { -namespace pixel { -namespace powerstats { - -const uint32_t HIBERNATE_STATE_ID = 0; - -UfsStateResidencyDataProvider::UfsStateResidencyDataProvider(uint32_t powerEntityId) - : mPowerEntityId(powerEntityId) {} - -bool UfsStateResidencyDataProvider::getResults( - std::unordered_map<uint32_t, PowerEntityStateResidencyResult> &results) { - PowerEntityStateResidencyResult result = { - .powerEntityId = mPowerEntityId, - .stateResidencyData = {{.powerEntityStateId = HIBERNATE_STATE_ID}}}; - - // The transform function converts microseconds to milliseconds. - std::function<uint64_t(uint64_t)> usecToMs = [](uint64_t a) { return a / 1000; }; - - std::string prefix = "/sys/bus/platform/devices/14700000.ufs/ufs_stats/"; - - result.stateResidencyData[0].totalTimeInStateMs = - usecToMs(readStat(prefix + "hibern8_total_us")); - result.stateResidencyData[0].totalStateEntryCount = readStat(prefix + "hibern8_exit_cnt"); - result.stateResidencyData[0].lastEntryTimestampMs = - usecToMs(readStat(prefix + "last_hibern8_enter_time")); - results.insert(std::make_pair(mPowerEntityId, result)); - return true; -} - -std::vector<PowerEntityStateSpace> UfsStateResidencyDataProvider::getStateSpaces() { - return {{.powerEntityId = mPowerEntityId, - .states = {{.powerEntityStateId = HIBERNATE_STATE_ID, - .powerEntityStateName = "HIBERN8"}}}}; -} - -uint64_t UfsStateResidencyDataProvider::readStat(std::string path) { - std::unique_ptr<FILE, decltype(&fclose)> fp(fopen(path.c_str(), "r"), fclose); - if (!fp) { - PLOG(ERROR) << __func__ << ":Failed to open file " << path - << " Error = " << strerror(errno); - return 0; - } - const size_t size = 20; - char buf[size]; - (void)fread(&buf, sizeof(char), size, fp.get()); - uint64_t ret; - if (!ParseUint(Trim(std::string(buf)), &ret)) { - LOG(ERROR) << "Failed to parse uint64 from [" << std::string(buf) << "]"; - } - return ret; -} - -} // namespace powerstats -} // namespace pixel -} // namespace google -} // namespace hardware -} // namespace android |