Loading services/surfaceflinger/DisplayHardware/PowerAdvisor.cpp +4 −1 Original line number Original line Diff line number Diff line Loading @@ -564,6 +564,7 @@ PowerAdvisor::HalWrapper* PowerAdvisor::getPowerHal() { if (!wrapper->shouldReconnectHAL()) { if (!wrapper->shouldReconnectHAL()) { return wrapper; return wrapper; } } ALOGD("Reconnecting Power HAL"); sHalWrapper = nullptr; sHalWrapper = nullptr; } } Loading @@ -576,7 +577,9 @@ PowerAdvisor::HalWrapper* PowerAdvisor::getPowerHal() { // If that didn't succeed, attempt to connect to the HIDL Power HAL // If that didn't succeed, attempt to connect to the HIDL Power HAL if (sHalWrapper == nullptr) { if (sHalWrapper == nullptr) { sHalWrapper = HidlPowerHalWrapper::connect(); 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 // thread ids always safe to set sHalWrapper->setPowerHintSessionThreadIds(oldPowerHintSessionThreadIds); sHalWrapper->setPowerHintSessionThreadIds(oldPowerHintSessionThreadIds); // only set duration and start if duration is defined // only set duration and start if duration is defined Loading services/surfaceflinger/FlagManager.cpp +2 −1 Original line number Original line Diff line number Diff line Loading @@ -96,7 +96,8 @@ int64_t FlagManager::demo_flag() const { } } bool FlagManager::use_adpf_cpu_hint() 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); return getValue("AdpfFeature__adpf_cpu_hint", sysPropVal, false); } } Loading services/surfaceflinger/SurfaceFlinger.cpp +6 −2 Original line number Original line Diff line number Diff line Loading @@ -675,8 +675,12 @@ void SurfaceFlinger::bootFinished() { readPersistentProperties(); readPersistentProperties(); mPowerAdvisor->onBootFinished(); mPowerAdvisor->onBootFinished(); mPowerAdvisor->enablePowerHint(mFlagManager.use_adpf_cpu_hint()); const bool powerHintEnabled = mFlagManager.use_adpf_cpu_hint(); if (mPowerAdvisor->usePowerHintSession()) { 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::optional<pid_t> renderEngineTid = getRenderEngine().getRenderEngineTid(); std::vector<int32_t> tidList; std::vector<int32_t> tidList; tidList.emplace_back(gettid()); tidList.emplace_back(gettid()); Loading Loading
services/surfaceflinger/DisplayHardware/PowerAdvisor.cpp +4 −1 Original line number Original line Diff line number Diff line Loading @@ -564,6 +564,7 @@ PowerAdvisor::HalWrapper* PowerAdvisor::getPowerHal() { if (!wrapper->shouldReconnectHAL()) { if (!wrapper->shouldReconnectHAL()) { return wrapper; return wrapper; } } ALOGD("Reconnecting Power HAL"); sHalWrapper = nullptr; sHalWrapper = nullptr; } } Loading @@ -576,7 +577,9 @@ PowerAdvisor::HalWrapper* PowerAdvisor::getPowerHal() { // If that didn't succeed, attempt to connect to the HIDL Power HAL // If that didn't succeed, attempt to connect to the HIDL Power HAL if (sHalWrapper == nullptr) { if (sHalWrapper == nullptr) { sHalWrapper = HidlPowerHalWrapper::connect(); 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 // thread ids always safe to set sHalWrapper->setPowerHintSessionThreadIds(oldPowerHintSessionThreadIds); sHalWrapper->setPowerHintSessionThreadIds(oldPowerHintSessionThreadIds); // only set duration and start if duration is defined // only set duration and start if duration is defined Loading
services/surfaceflinger/FlagManager.cpp +2 −1 Original line number Original line Diff line number Diff line Loading @@ -96,7 +96,8 @@ int64_t FlagManager::demo_flag() const { } } bool FlagManager::use_adpf_cpu_hint() 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); return getValue("AdpfFeature__adpf_cpu_hint", sysPropVal, false); } } Loading
services/surfaceflinger/SurfaceFlinger.cpp +6 −2 Original line number Original line Diff line number Diff line Loading @@ -675,8 +675,12 @@ void SurfaceFlinger::bootFinished() { readPersistentProperties(); readPersistentProperties(); mPowerAdvisor->onBootFinished(); mPowerAdvisor->onBootFinished(); mPowerAdvisor->enablePowerHint(mFlagManager.use_adpf_cpu_hint()); const bool powerHintEnabled = mFlagManager.use_adpf_cpu_hint(); if (mPowerAdvisor->usePowerHintSession()) { 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::optional<pid_t> renderEngineTid = getRenderEngine().getRenderEngineTid(); std::vector<int32_t> tidList; std::vector<int32_t> tidList; tidList.emplace_back(gettid()); tidList.emplace_back(gettid()); Loading