aboutsummaryrefslogtreecommitdiff
path: root/drivers/cpufreq/omap-cpufreq.c
AgeCommit message (Collapse)AuthorFilesLines
2011-11-08cpufreq: OMAP: notify even with bad boot frequencyColin Cross1-1/+1
Sometimes, bootloaders starts up with a frequency which is not in the OPP table. At cpu_init, policy->cur contains the frequency we pick at boot. It is possible that system might have fixed it's boot frequency later on as part of power initialization. After this condition, the first call to omap_target results in the following: omap_getspeed(actual device frequency) != policy->cur(frequency that cpufreq thinks that the system is at), and it is possible that freqs.old == freqs.new (because the governor requested a scale down). We exit without triggering the notifiers in the current code, which does'nt let code which depends on cpufreq_notify_transition to have accurate information as to what the system frequency is. Instead, we do a normal transition if policy->cur is wrong, then, freqs.old will be the actual cpu frequency, freqs.new will be the actual new cpu frequency and all required notifiers have the accurate information. Acked-by: Nishanth Menon <[email protected]> Signed-off-by: Colin Cross <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2011-11-08cpufreq: OMAP: Enable all CPUs in shared policy maskTodd Poynor1-3/+1
Enable all CPUs in the shared policy in the CPU init callback. Otherwise, the governor CPUFREQ_GOV_START event is invoked with a policy that only includes the first CPU, leaving other CPUs uninitialized by the governor. Signed-off-by: Todd Poynor <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2011-11-08cpufreq: OMAP: Add SMP support for OMAP4+Russell King1-10/+71
On OMAP SMP configuartion, both processors share the voltage and clock. So both CPUs needs to be scaled together and hence needs software co-ordination. Also, update lpj with reference value to avoid progressive error. Adjust _both_ the per-cpu loops_per_jiffy and global lpj. Calibrate them with with reference to the initial values to avoid a progressively bigger and bigger error in the value over time. While at this, re-use the notifiers for UP/SMP since on UP machine or UP_ON_SMP policy->cpus mask would contain only the boot CPU. Based on initial SMP support by Santosh Shilimkar. Signed-off-by: Russell King <[email protected]> Signed-off-by: Santosh Shilimkar <[email protected]> [[email protected]: due to overlap/rework, combined original Santosh patch and Russell's rework] Signed-off-by: Kevin Hilman <[email protected]>
2011-11-08cpufreq: OMAP: cleanup for multi-SoC support, move into drivers/cpufreqSantosh Shilimkar1-0/+188
Move OMAP cpufreq driver from arch/arm/mach-omap2 into drivers/cpufreq, along with a few cleanups: - generalize support for better handling of different SoCs in the OMAP - use OPP layer instead of OMAP clock internals for frequency table init Signed-off-by: Santosh Shilimkar <[email protected]> [[email protected]: move to drivers] Signed-off-by: Kevin Hilman <[email protected]>