Commit c7789669 authored by Mats Fagerstrom's avatar Mats Fagerstrom Committed by Rafael J. Wysocki
Browse files

cpufreq: dbx500: Round to closest available freq



When reading the cpu speed, round it to the closest available
frequency from the table.

Signed-off-by: default avatarMats Fagerstrom <mats.fagerstrom@stericsson.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent e4969eba
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -71,15 +71,15 @@ static unsigned int dbx500_cpufreq_getspeed(unsigned int cpu)
	int i = 0;
	unsigned long freq = clk_get_rate(armss_clk) / 1000;

	while (freq_table[i].frequency != CPUFREQ_TABLE_END) {
		if (freq <= freq_table[i].frequency)
	/* The value is rounded to closest frequency in the defined table. */
	while (freq_table[i + 1].frequency != CPUFREQ_TABLE_END) {
		if (freq < freq_table[i].frequency +
		   (freq_table[i + 1].frequency - freq_table[i].frequency) / 2)
			return freq_table[i].frequency;
		i++;
	}

	/* We could not find a corresponding frequency. */
	pr_err("dbx500-cpufreq: Failed to find cpufreq speed\n");
	return 0;
	return freq_table[i].frequency;
}

static int __cpuinit dbx500_cpufreq_init(struct cpufreq_policy *policy)