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

Commit 65a2e6f9 authored by Xiang Wang's avatar Xiang Wang
Browse files

Add debug log on Power HAL support and connection status

Allow enabling power hint through system property

Bug: 195990840
Test: manual test
Change-Id: I3694eda0ab1f1474a367d02b8d61ae602c5ba993
parent 1527529f
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -564,6 +564,7 @@ PowerAdvisor::HalWrapper* PowerAdvisor::getPowerHal() {
        if (!wrapper->shouldReconnectHAL()) {
            return wrapper;
        }
        ALOGD("Reconnecting Power HAL");
        sHalWrapper = nullptr;
    }

@@ -576,7 +577,9 @@ PowerAdvisor::HalWrapper* PowerAdvisor::getPowerHal() {
    // If that didn't succeed, attempt to connect to the HIDL Power HAL
    if (sHalWrapper == nullptr) {
        sHalWrapper = HidlPowerHalWrapper::connect();
    } else { // if AIDL, pass on any existing hint session values
    } else {
        ALOGD("Successfully connecting AIDL Power HAL");
        // if AIDL, pass on any existing hint session values
        // thread ids always safe to set
        sHalWrapper->setPowerHintSessionThreadIds(oldPowerHintSessionThreadIds);
        // only set duration and start if duration is defined
+2 −1
Original line number Diff line number Diff line
@@ -96,7 +96,8 @@ int64_t FlagManager::demo_flag() const {
}

bool FlagManager::use_adpf_cpu_hint() const {
    std::optional<bool> sysPropVal = std::nullopt;
    std::optional<bool> sysPropVal =
            doParse<bool>(base::GetProperty("debug.sf.enable_adpf_cpu_hint", "").c_str());
    return getValue("AdpfFeature__adpf_cpu_hint", sysPropVal, false);
}

+6 −2
Original line number Diff line number Diff line
@@ -680,8 +680,12 @@ void SurfaceFlinger::bootFinished() {

        readPersistentProperties();
        mPowerAdvisor->onBootFinished();
        mPowerAdvisor->enablePowerHint(mFlagManager.use_adpf_cpu_hint());
        if (mPowerAdvisor->usePowerHintSession()) {
        const bool powerHintEnabled = mFlagManager.use_adpf_cpu_hint();
        mPowerAdvisor->enablePowerHint(powerHintEnabled);
        const bool powerHintUsed = mPowerAdvisor->usePowerHintSession();
        ALOGD("Power hint is %s",
              powerHintUsed ? "supported" : (powerHintEnabled ? "unsupported" : "disabled"));
        if (powerHintUsed) {
            std::optional<pid_t> renderEngineTid = getRenderEngine().getRenderEngineTid();
            std::vector<int32_t> tidList;
            tidList.emplace_back(gettid());