sdm660-common: power-libperfmgr: Add back audio hints

* It works as intended

Signed-off-by: clarencelol <clarencekuiek@icloud.com>
This commit is contained in:
clarencelol 2021-05-26 00:06:31 +08:00 committed by OdSazib
parent 8b7fde5fdb
commit 5ae45246d0
No known key found for this signature in database
GPG key ID: D4CC9F3E8190970A
4 changed files with 33 additions and 0 deletions

View file

@ -41,6 +41,7 @@ namespace impl {
namespace pixel {
constexpr char kPowerHalStateProp[] = "vendor.powerhal.state";
constexpr char kPowerHalAudioProp[] = "vendor.powerhal.audio";
constexpr char kPowerHalRenderingProp[] = "vendor.powerhal.rendering";
Power::Power(std::shared_ptr<HintManager> hm)
@ -59,6 +60,12 @@ Power::Power(std::shared_ptr<HintManager> hm)
ALOGI("Initialize PowerHAL");
}
state = ::android::base::GetProperty(kPowerHalAudioProp, "");
if (state == "AUDIO_STREAMING_LOW_LATENCY") {
ALOGI("Initialize with AUDIO_LOW_LATENCY on");
mHintManager->DoHint(state);
}
state = ::android::base::GetProperty(kPowerHalRenderingProp, "");
if (state == "EXPENSIVE_RENDERING") {
ALOGI("Initialize with EXPENSIVE_RENDERING on");
@ -101,6 +108,8 @@ ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) {
[[fallthrough]];
case Mode::DISPLAY_INACTIVE:
[[fallthrough]];
case Mode::AUDIO_STREAMING_LOW_LATENCY:
[[fallthrough]];
default:
if (enabled) {
mHintManager->DoHint(toString(type));
@ -138,6 +147,8 @@ ndk::ScopedAStatus Power::setBoost(Boost type, int32_t durationMs) {
[[fallthrough]];
case Boost::ML_ACC:
[[fallthrough]];
case Boost::AUDIO_LAUNCH:
[[fallthrough]];
default:
if (mSustainedPerfModeOn) {
break;

View file

@ -10,9 +10,15 @@ on late-fs
# restart powerHAL when framework died
on property:init.svc.zygote=restarting && property:vendor.powerhal.state=*
setprop vendor.powerhal.state ""
setprop vendor.powerhal.audio ""
setprop vendor.powerhal.rendering ""
restart vendor.power-hal-aidl
# restart powerHAL when audioHAL died
on property:init.svc.vendor.audio-hal-2-0=restarting && property:vendor.powerhal.audio=AUDIO_STREAMING_LOW_LATENCY
setprop vendor.powerhal.audio ""
restart vendor.power-hal-aidl
# initialize powerHAL when boot is completed
on property:sys.boot_completed=1
setprop vendor.powerhal.init 1

View file

@ -159,6 +159,15 @@
],
"Type": "Property"
},
{
"Name": "PowerHALAudioState",
"Path": "vendor.powerhal.audio",
"Values": [
"AUDIO_STREAMING_LOW_LATENCY",
""
],
"Type": "Property"
},
{
"Name": "PowerHALRenderingState",
"Path": "vendor.powerhal.rendering",
@ -302,6 +311,12 @@
"Duration": 2000,
"Value": "43"
},
{
"PowerHint": "AUDIO_STREAMING_LOW_LATENCY",
"Node": "PowerHALAudioState",
"Duration": 0,
"Value": "AUDIO_STREAMING_LOW_LATENCY"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "PowerHALRenderingState",

View file

@ -45,6 +45,7 @@ sys.post_boot.parsed u:object_r:vendor_mpctl_prop:s0
# Power
vendor.powerhal. u:object_r:vendor_power_prop:s0
vendor.powerhal.audio u:object_r:vendor_power_prop:s0
# RIL
ro.build.software.version u:object_r:exported_radio_prop:s0