aidl: power: Drop Lineage perf profiles support

Change-Id: Iea27471971d679733b688794dbbe1edcb86746e0
tirimbino
Bruno Martins 3 years ago
parent fb067279b9
commit 6369d06319
  1. 2
      aidl/power-libperfmgr/Android.bp
  2. 56
      aidl/power-libperfmgr/LineagePower.cpp
  3. 46
      aidl/power-libperfmgr/LineagePower.h
  4. 4
      aidl/power-libperfmgr/android.hardware.power-service.samsung.xml
  5. 14
      aidl/power-libperfmgr/service.cpp

@ -35,13 +35,11 @@ cc_binary {
"libbinder_ndk",
"libperfmgr",
"pixel-power-ext-ndk_platform",
"vendor.lineage.power-ndk_platform",
],
srcs: [
"service.cpp",
"Power.cpp",
"PowerExt.cpp",
"InteractionHandler.cpp",
"LineagePower.cpp"
],
}

@ -1,56 +0,0 @@
/*
* Copyright (C) 2021 The LineageOS 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.
*/
#include "LineagePower.h"
namespace aidl {
namespace vendor {
namespace lineage {
namespace power {
namespace impl {
LineagePower::LineagePower(std::shared_ptr<Power> power, int32_t serviceNumPerfProfiles)
: mPower(power), mNumPerfProfiles(serviceNumPerfProfiles) {}
ndk::ScopedAStatus LineagePower::getFeature(Feature feature, int* _aidl_return) {
switch (feature) {
case Feature::SUPPORTED_PROFILES:
*_aidl_return = mNumPerfProfiles;
break;
default:
*_aidl_return = -1;
break;
}
return ndk::ScopedAStatus::ok();
}
ndk::ScopedAStatus LineagePower::setBoost(Boost type, int durationMs) {
switch (type) {
case Boost::SET_PROFILE:
mPower->setProfile(static_cast<PowerProfile>(durationMs));
break;
default:
break;
}
return ndk::ScopedAStatus::ok();
}
} // namespace impl
} // namespace power
} // namespace lineage
} // namespace vendor
} // namespace aidl

@ -1,46 +0,0 @@
/*
* Copyright (C) 2021 The LineageOS 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.
*/
#pragma once
#include <aidl/vendor/lineage/power/BnPower.h>
#include "Power.h"
namespace aidl {
namespace vendor {
namespace lineage {
namespace power {
namespace impl {
using aidl::google::hardware::power::impl::pixel::Power;
using aidl::google::hardware::power::impl::pixel::PowerProfile;
class LineagePower : public BnPower {
public:
LineagePower(std::shared_ptr<Power> power, int32_t serviceNumPerfProfiles);
ndk::ScopedAStatus getFeature(Feature feature, int* _aidl_return) override;
ndk::ScopedAStatus setBoost(Boost type, int durationMs) override;
private:
std::shared_ptr<Power> mPower;
int32_t mNumPerfProfiles;
};
} // namespace impl
} // namespace power
} // namespace lineage
} // namespace vendor
} // namespace aidl

@ -3,8 +3,4 @@
<name>android.hardware.power</name>
<fqname>IPower/default</fqname>
</hal>
<hal format="aidl" override="true">
<name>vendor.lineage.power</name>
<fqname>IPower/default</fqname>
</hal>
</manifest>

@ -23,16 +23,13 @@
#include <android/binder_manager.h>
#include <android/binder_process.h>
#include "LineagePower.h"
#include "Power.h"
#include "PowerExt.h"
using aidl::google::hardware::power::impl::pixel::Power;
using aidl::google::hardware::power::impl::pixel::PowerExt;
using ::android::perfmgr::HintManager;
using aidl::vendor::lineage::power::impl::LineagePower;
constexpr char kPowerHalProfileNumProp[] = "vendor.powerhal.perf_profiles";
constexpr char kPowerHalConfigPath[] = "/vendor/etc/powerhint.json";
constexpr char kPowerHalInitProp[] = "vendor.powerhal.init";
@ -45,9 +42,6 @@ int main() {
LOG(FATAL) << "Invalid config: " << kPowerHalConfigPath;
}
// parse number of profiles
int32_t serviceNumPerfProfiles = android::base::GetIntProperty(kPowerHalProfileNumProp, 0);
// single thread
ABinderProcess_setThreadPoolMaxThreadCount(0);
@ -64,13 +58,7 @@ int main() {
const std::string instance = std::string() + Power::descriptor + "/default";
binder_status_t status = AServiceManager_addService(pw->asBinder().get(), instance.c_str());
CHECK(status == STATUS_OK);
// lineage service
std::shared_ptr<LineagePower> lineagePw = ndk::SharedRefBase::make<LineagePower>(pw, serviceNumPerfProfiles);
const std::string lineageInstance = std::string() + LineagePower::descriptor + "/default";
binder_status_t lineageStatus = AServiceManager_addService(lineagePw->asBinder().get(), lineageInstance.c_str());
CHECK(lineageStatus == STATUS_OK);
LOG(INFO) << "Pixel Power HAL AIDL Service with Extension & Lineage Perf Profile is started.";
LOG(INFO) << "Pixel Power HAL AIDL Service with Extension is started.";
std::thread initThread([&]() {
::android::base::WaitForProperty(kPowerHalInitProp, "1");

Loading…
Cancel
Save