diff options
author | Tim Murray <timmurray@google.com> | 2015-10-05 13:31:51 -0700 |
---|---|---|
committer | Tim Murray <timmurray@google.com> | 2015-10-05 13:51:31 -0700 |
commit | 7bafe338e7998c7dd9e639f94698909400227c97 (patch) | |
tree | d273500ea06008f58f95a6f3b9f6fc3d8e22cca5 | |
parent | 7f67479423cf079825a82b88ecbd8024c1cd0adf (diff) | |
download | angler-7bafe338e7998c7dd9e639f94698909400227c97.tar.gz |
Enable touch boost during camera.
Previously, the video encode hint would hotplug the big cores off while
the camera was running in order to improve thermals and power
consumption. Instead, have the camera run the big cores at 384MHz so we
can still apply POWER_HINT_INTERACTION.
This also restricts mm-qcamera-daemon to the small cluster in order to
prevent it from being boosted by touch boost.
bug 24583227
Change-Id: Ifb32729f4bc47bf71ea868d22589fa37b40a3007
-rwxr-xr-x | init.angler.rc | 1 | ||||
-rw-r--r-- | power/power-8994.c | 11 | ||||
-rw-r--r-- | power/power.c | 4 | ||||
-rw-r--r-- | power/utils.c | 2 |
4 files changed, 9 insertions, 9 deletions
diff --git a/init.angler.rc b/init.angler.rc index 795fbc0..82199a2 100755 --- a/init.angler.rc +++ b/init.angler.rc @@ -327,6 +327,7 @@ service qcamerasvr /system/bin/mm-qcamera-daemon class late_start user camera group camera system inet input graphics + writepid /dev/cpuset/system-background/tasks service fingerprintd /system/bin/fingerprintd class late_start diff --git a/power/power-8994.c b/power/power-8994.c index 46febc9..6ca1110 100644 --- a/power/power-8994.c +++ b/power/power-8994.c @@ -38,7 +38,7 @@ #include <pthread.h> #include <stdbool.h> -#define LOG_TAG "QCOM PowerHAL" +#define LOG_TAG "QCOMPowerHAL" #include <utils/Log.h> #include <hardware/hardware.h> #include <hardware/power.h> @@ -78,11 +78,10 @@ static void* video_encode_hint_function(void* arg) { // if should_enable is false, we've already quit the camera if (video_encode_hint_should_enable == true && video_encode_hint_counter == expected_counter) { /* sched and cpufreq params - * A57 - offlines - * A53 - 4 cores online at 1.2GHz - */ - int resource_values[] = {0x150C, 0x160C, 0x170C, 0x180C, 0x3DFF}; - + A53: 4 cores online at 1.2GHz max, 960 min + A57: 4 cores online at 384 max, 384 min + */ + int resource_values[] = {0x150C, 0x1F03, 0x2303}; perform_hint_action(new_hint_id, resource_values, sizeof(resource_values)/sizeof(resource_values[0])); cur_hint_id = new_hint_id; diff --git a/power/power.c b/power/power.c index da8e9ed..308ea0c 100644 --- a/power/power.c +++ b/power/power.c @@ -37,7 +37,7 @@ #include <dlfcn.h> #include <stdlib.h> -#define LOG_TAG "QCOM PowerHAL" +#define LOG_TAG "QCOMPowerHAL" #include <utils/Log.h> #include <hardware/hardware.h> #include <hardware/power.h> @@ -221,7 +221,7 @@ static void power_hint(struct power_module *module, power_hint_t hint, static int handle_little = 0; // big core freq bump for 500ms - int resources_big[] = {0x1F08}; + int resources_big[] = {0x2312, 0x1F08}; int duration_big = 500; static int handle_big = 0; diff --git a/power/utils.c b/power/utils.c index 0e7670e..199425b 100644 --- a/power/utils.c +++ b/power/utils.c @@ -39,7 +39,7 @@ #include "hint-data.h" #include "power-common.h" -#define LOG_TAG "QCOM PowerHAL" +#define LOG_TAG "QCOMPowerHAL" #include <utils/Log.h> #define INTERACTION_BOOST |