scenario->list[index].state = is_supported(result->value);
if (scenario->list[index].state < 0)
return -EINVAL;
- } else if (MATCH(result->name, "cpufreq_min_level")) {
- scenario->list[index].cpufreq_min_level = atoi(result->value);
- } else if (MATCH(result->name, "cpufreq_max_level")) {
- scenario->list[index].cpufreq_max_level = atoi(result->value);
- } else if (MATCH(result->name, "busfreq_min_level")) {
- scenario->list[index].busfreq_min_level = atoi(result->value);
- } else if (MATCH(result->name, "busfreq_max_level")) {
- scenario->list[index].busfreq_max_level = atoi(result->value);
- } else if (MATCH(result->name, "gpufreq_min_level")) {
- scenario->list[index].gpufreq_min_level = atoi(result->value);
- } else if (MATCH(result->name, "gpufreq_max_level")) {
- scenario->list[index].gpufreq_max_level = atoi(result->value);
+ } else if (MATCH(result->name, "min_level")) {
+ scenario->list[index].min_level = atoi(result->value);
+ } else if (MATCH(result->name, "max_level")) {
+ scenario->list[index].max_level = atoi(result->value);
}
return 0;
struct pass_scenario *scn = NULL;
enum pass_state locked = PASS_UNUSED;
char name[PASS_NAME_LEN] = {""};
- unsigned int cpufreq_min_level = 0;
- unsigned int cpufreq_max_level = 0;
+ unsigned int min_level = 0;
+ unsigned int max_level = 0;
int count = 0;
int index = -1;
int i;
struct pass_scenario *scn = &scenario->list[i];
if (is_scenario_locked(scn)) {
- if (scn->cpufreq_min_level > cpufreq_min_level)
- cpufreq_min_level = scn->cpufreq_min_level;
- if (scn->cpufreq_max_level > cpufreq_max_level)
- cpufreq_max_level = scn->cpufreq_max_level;
+ if (scn->min_level > min_level)
+ min_level = scn->min_level;
+ if (scn->max_level > max_level)
+ max_level = scn->max_level;
count++;
}
-
- /*
- * TODO: PASS have to control busfreq/gpufreq as same as cpufreq
- */
}
/*
* Restore default min/max level if all scenarios hasn't locked state.
*/
if (!is_scenario_locked(scn) && !count) {
- cpufreq_min_level = policy->default_min_level;
- cpufreq_max_level = policy->default_max_level;
+ min_level = policy->default_min_level;
+ max_level = policy->default_max_level;
}
if (locked) {
(pass_get_time_ms() - scenario->list[index].locked_time));
}
- pass_governor_change_level_scope(policy, cpufreq_min_level,
- cpufreq_max_level);
-
- /* TODO: PASS have to control busfreq/gpufreq as same as cpufreq. */
+ pass_governor_change_level_scope(policy, min_level, max_level);
return 0;
}
enum pass_state locked;
int64_t locked_time;
- unsigned int cpufreq_min_level;
- unsigned int cpufreq_max_level;
-
- unsigned int busfreq_min_level;
- unsigned int busfreq_max_level;
-
- unsigned int gpufreq_min_level;
- unsigned int gpufreq_max_level;
+ unsigned int min_level;
+ unsigned int max_level;
};
struct pass_scenario_policy {