Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 73879
b: refs/heads/master
c: a8d7c3b
h: refs/heads/master
i:
  73877: 98c0285
  73875: 632c7e2
  73871: fb6fa4a
v: v3
  • Loading branch information
Elias Oltmanns authored and Dave Jones committed Oct 22, 2007
1 parent 6a2422a commit db3bd10
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c5829cd07ec4c08daa7ff91c821af9b2ac7748df
refs/heads/master: a8d7c3bc2396aff14f9e920677072cb55b016040
32 changes: 30 additions & 2 deletions trunk/drivers/cpufreq/cpufreq_conservative.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,27 @@ static inline unsigned int get_cpu_idle_time(unsigned int cpu)
return ret;
}

/* keep track of frequency transitions */
static int
dbs_cpufreq_notifier(struct notifier_block *nb, unsigned long val,
void *data)
{
struct cpufreq_freqs *freq = data;
struct cpu_dbs_info_s *this_dbs_info = &per_cpu(cpu_dbs_info,
freq->cpu);

if (!this_dbs_info->enable)
return 0;

this_dbs_info->requested_freq = freq->new;

return 0;
}

static struct notifier_block dbs_cpufreq_notifier_block = {
.notifier_call = dbs_cpufreq_notifier
};

/************************** sysfs interface ************************/
static ssize_t show_sampling_rate_max(struct cpufreq_policy *policy, char *buf)
{
Expand Down Expand Up @@ -511,6 +532,9 @@ static int cpufreq_governor_dbs(struct cpufreq_policy *policy,
dbs_tuners_ins.sampling_rate = def_sampling_rate;

dbs_timer_init();
cpufreq_register_notifier(
&dbs_cpufreq_notifier_block,
CPUFREQ_TRANSITION_NOTIFIER);
}

mutex_unlock(&dbs_mutex);
Expand All @@ -525,9 +549,13 @@ static int cpufreq_governor_dbs(struct cpufreq_policy *policy,
* Stop the timerschedule work, when this governor
* is used for first time
*/
if (dbs_enable == 0)
if (dbs_enable == 0) {
dbs_timer_exit();

cpufreq_unregister_notifier(
&dbs_cpufreq_notifier_block,
CPUFREQ_TRANSITION_NOTIFIER);
}

mutex_unlock(&dbs_mutex);

break;
Expand Down

0 comments on commit db3bd10

Please sign in to comment.