summaryrefslogtreecommitdiff
path: root/power/power.c
diff options
context:
space:
mode:
Diffstat (limited to 'power/power.c')
-rw-r--r--power/power.c47
1 files changed, 19 insertions, 28 deletions
diff --git a/power/power.c b/power/power.c
index a87b05f..6470458 100644
--- a/power/power.c
+++ b/power/power.c
@@ -32,8 +32,7 @@
#include <hardware/hardware.h>
#include <hardware/power.h>
-#define BOOST_PATH "/sys/devices/system/cpu/cpufreq/interactive/boost"
-#define INTERACTIVE_KEEP_MIN_CPU "/sys/devices/system/cpu/cpufreq/interactive/min_core_keep"
+#define BOOST_PATH "/sys/devices/system/cpu/cpufreq/intelliactive/boostpulse"
#define UEVENT_MSG_LEN 2048
#define TOTAL_CPUS 4
#define RETRY_TIME_CHANGING_FREQ 20
@@ -182,20 +181,20 @@ static void uevent_init()
static void grouper_power_init( __attribute__((unused)) struct power_module *module)
{
- /*
- * cpufreq interactive governor: timer 20ms, min sample 100ms,
- * hispeed 700MHz at load 40%
- */
-
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/timer_rate", "50000");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/min_sample_time", "100000");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load", "50");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay", "20000");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/boost_factor", "0");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/input_boost", "1");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/io_is_busy", "1");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq", "860000");
- sysfs_write(INTERACTIVE_KEEP_MIN_CPU, "4");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/above_hispeed_delay","30000");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/boostpulse","1");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/boostpulse_duration","80000");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/go_hispeed_load","90");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/hispeed_freq","860000");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/io_is_busy","1");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/min_sample_time","40000");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/sampling_down_factor","60000");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/sync_freq","780000");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/target_loads","90");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/timer_rate","10000");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/timer_slack","30000");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/up_threshold_any_cpu_freq","780000");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/up_threshold_any_cpu_load","65");
uevent_init();
}
@@ -203,20 +202,12 @@ static void grouper_power_set_interactive(__attribute__((unused)) struct power_m
__attribute__((unused)) int on)
{
if (on) {
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load", "50");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/core_lock_period", "3000000");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/core_lock_count", "2");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/input_boost", "1");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/io_is_busy", "1");
- sysfs_write(INTERACTIVE_KEEP_MIN_CPU, "2");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/boostpulse", "1");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/io_is_busy", "1");
}
else {
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load", "85");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/core_lock_period", "200000");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/core_lock_count", "0");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/input_boost", "0");
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/io_is_busy", "0");
- sysfs_write(INTERACTIVE_KEEP_MIN_CPU, "0");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/boostpulse", "0");
+ sysfs_write("/sys/devices/system/cpu/cpufreq/intelliactive/io_is_busy", "0");
}
}