|
@@ -194,7 +194,7 @@ static unsigned int od_dbs_timer(struct cpufreq_policy *policy)
|
|
|
struct policy_dbs_info *policy_dbs = policy->governor_data;
|
|
|
struct dbs_data *dbs_data = policy_dbs->dbs_data;
|
|
|
struct od_cpu_dbs_info_s *dbs_info = &per_cpu(od_cpu_dbs_info, policy->cpu);
|
|
|
- int delay, sample_type = dbs_info->sample_type;
|
|
|
+ int sample_type = dbs_info->sample_type;
|
|
|
|
|
|
/* Common NORMAL_SAMPLE setup */
|
|
|
dbs_info->sample_type = OD_NORMAL_SAMPLE;
|
|
@@ -203,22 +203,20 @@ static unsigned int od_dbs_timer(struct cpufreq_policy *policy)
|
|
|
* it then.
|
|
|
*/
|
|
|
if (sample_type == OD_SUB_SAMPLE && policy_dbs->sample_delay_ns > 0) {
|
|
|
- delay = dbs_info->freq_lo_jiffies;
|
|
|
__cpufreq_driver_target(policy, dbs_info->freq_lo,
|
|
|
CPUFREQ_RELATION_H);
|
|
|
- } else {
|
|
|
- od_update(policy);
|
|
|
- if (dbs_info->freq_lo) {
|
|
|
- /* Setup timer for SUB_SAMPLE */
|
|
|
- dbs_info->sample_type = OD_SUB_SAMPLE;
|
|
|
- delay = dbs_info->freq_hi_jiffies;
|
|
|
- } else {
|
|
|
- delay = delay_for_sampling_rate(dbs_data->sampling_rate
|
|
|
- * policy_dbs->rate_mult);
|
|
|
- }
|
|
|
+ return dbs_info->freq_lo_jiffies;
|
|
|
+ }
|
|
|
+
|
|
|
+ od_update(policy);
|
|
|
+
|
|
|
+ if (dbs_info->freq_lo) {
|
|
|
+ /* Setup timer for SUB_SAMPLE */
|
|
|
+ dbs_info->sample_type = OD_SUB_SAMPLE;
|
|
|
+ return dbs_info->freq_hi_jiffies;
|
|
|
}
|
|
|
|
|
|
- return delay;
|
|
|
+ return delay_for_sampling_rate(dbs_data->sampling_rate * policy_dbs->rate_mult);
|
|
|
}
|
|
|
|
|
|
/************************** sysfs interface ************************/
|