summaryrefslogtreecommitdiffstats
path: root/power-common.h
diff options
context:
space:
mode:
authordianlujitao <dianlujitao@lineageos.org>2018-01-18 21:24:30 +0800
committerMichael Bestas <mkbestas@lineageos.org>2019-10-23 01:12:57 +0300
commit19a43ccd9aa1db86585a01988d6f487df4e5793d (patch)
treeda3b7027379f64306582cffa7e24764f72d4bb5d /power-common.h
parent60d5a540eec686e78dfa03b6676fc926d96f58df (diff)
downloadvendor_qcom_opensource_power-19a43ccd9aa1db86585a01988d6f487df4e5793d.tar.gz
vendor_qcom_opensource_power-19a43ccd9aa1db86585a01988d6f487df4e5793d.tar.bz2
vendor_qcom_opensource_power-19a43ccd9aa1db86585a01988d6f487df4e5793d.zip
power: Prepare for power profile support
* Add support for system performance profiles and CPU boost. * Uses mpctl to configure the CPUs in the appropriate modes. * Implement binderized Lineage power HAL. Author: Steve Kondik <shade@chemlab.org> Date: Sat May 17 03:37:53 2014 -0700 power: Add support for CPU boost hint Change-Id: I07c3e8daf8a5f3b568e27334f26d4ba8f4cf40c4 Author: Steve Kondik <shade@chemlab.org> Date: Sun May 18 23:55:23 2014 -0700 power: Add power hint to set profile * A PowerHAL can implement support for this hint to receive power profile changes from the framework. Change-Id: Ie1e9e3b827c731cf5a817a0491677e3451fe8678 Author: Steve Kondik <shade@chemlab.org> Date: Mon May 19 17:26:34 2014 -0700 power: Add support for SET_PROFILE hints * Add support for system performance profiles. * Uses mpctl to configure the CPUs in the appropriate modes. * PERFORMANCE = all cores at max * POWER_SAVE = max two cores at non-turbo voltage * If a custom profile is set, don't honor any other hints * Clean up the code and firm up the locking. Change-Id: Ie6acada805780c9ae6e6bc2002843aef638ca63b Author: Steve Kondik <steve@cyngn.com> Date: Tue Nov 3 03:27:42 2015 -0800 power: Update for PerformanceManager changes * Undo damage caused by the previous patch which broke all hint arguments. We were actually using these wrong to begin with anyway. * Add support for get_profile * Clean up code Change-Id: Ibc3f21bfb7aa46ec97b9b63d09737d4331a5a714 Author: dianlujitao <dianlujitao@lineageos.org> Date: Sat Feb 23 20:24:57 2019 +0800 power: Pass NULL parameter in powerHint if data is zero * This restores the behavior in AOSP and CAF power HAL to avoid confusion. Change-Id: I72f5bb9286e2f57121e39eea82d2fe8854989393 Change-Id: I7ae614667e3182eaf0a90b81e8ed839689cfbf28
Diffstat (limited to 'power-common.h')
-rw-r--r--power-common.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/power-common.h b/power-common.h
index a0413b9..9fc1546 100644
--- a/power-common.h
+++ b/power-common.h
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2013, 2018-2019 The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017-2019 The LineageOS Project
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -43,14 +44,26 @@ extern "C" {
enum CPU_GOV_CHECK { CPU0 = 0, CPU1 = 1, CPU2 = 2, CPU3 = 3 };
+enum {
+ PROFILE_POWER_SAVE = 0,
+ PROFILE_BALANCED,
+ PROFILE_HIGH_PERFORMANCE,
+ PROFILE_BIAS_POWER,
+ PROFILE_BIAS_PERFORMANCE
+};
+
void power_init(void);
void power_hint(power_hint_t hint, void* data);
void set_interactive(int on);
+int get_number_of_profiles();
#define ARRAY_SIZE(x) (sizeof((x)) / sizeof((x)[0]))
#define CHECK_HANDLE(x) ((x) > 0)
#define UNUSED(x) UNUSED_##x __attribute__((__unused__))
+// Custom Lineage hints
+const static power_hint_t POWER_HINT_SET_PROFILE = (power_hint_t)0x00000111;
+
#ifdef __cplusplus
}
#endif