Merge branches 'pm-sleep', 'pm-cpuidle' and 'pm-cpufreq'
* pm-sleep: PM / suspend: Make cpuidle work in the "freeze" state * pm-cpuidle: intel_idle: fix IVT idle state table setting * pm-cpufreq: cpufreq: highbank: fix ARM_HIGHBANK_CPUFREQ dependency warning cpufreq: ppc: Fix integer overflow in expression cpufreq, powernv: Fix build failure on UP cpufreq: unicore32: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO
This commit is contained in:
commit
e38ed29429
|
@ -92,11 +92,7 @@ config ARM_EXYNOS_CPU_FREQ_BOOST_SW
|
|||
|
||||
config ARM_HIGHBANK_CPUFREQ
|
||||
tristate "Calxeda Highbank-based"
|
||||
depends on ARCH_HIGHBANK
|
||||
select GENERIC_CPUFREQ_CPU0
|
||||
select PM_OPP
|
||||
select REGULATOR
|
||||
|
||||
depends on ARCH_HIGHBANK && GENERIC_CPUFREQ_CPU0 && REGULATOR
|
||||
default m
|
||||
help
|
||||
This adds the CPUFreq driver for Calxeda Highbank SoC
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include <asm/cputhreads.h>
|
||||
#include <asm/reg.h>
|
||||
#include <asm/smp.h> /* Required for cpu_sibling_mask() in UP configs */
|
||||
|
||||
#define POWERNV_MAX_PSTATES 256
|
||||
|
||||
|
|
|
@ -206,7 +206,7 @@ static int corenet_cpufreq_cpu_init(struct cpufreq_policy *policy)
|
|||
per_cpu(cpu_data, i) = data;
|
||||
|
||||
policy->cpuinfo.transition_latency =
|
||||
(12 * NSEC_PER_SEC) / fsl_get_sys_freq();
|
||||
(12ULL * NSEC_PER_SEC) / fsl_get_sys_freq();
|
||||
of_node_put(np);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -60,9 +60,7 @@ static int __init ucv2_cpu_init(struct cpufreq_policy *policy)
|
|||
policy->max = policy->cpuinfo.max_freq = 1000000;
|
||||
policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL;
|
||||
policy->clk = clk_get(NULL, "MAIN_CLK");
|
||||
if (IS_ERR(policy->clk))
|
||||
return PTR_ERR(policy->clk);
|
||||
return 0;
|
||||
return PTR_ERR_OR_ZERO(policy->clk);
|
||||
}
|
||||
|
||||
static struct cpufreq_driver ucv2_driver = {
|
||||
|
|
|
@ -750,9 +750,10 @@ void intel_idle_state_table_update(void)
|
|||
if (package_num + 1 > num_sockets) {
|
||||
num_sockets = package_num + 1;
|
||||
|
||||
if (num_sockets > 4)
|
||||
if (num_sockets > 4) {
|
||||
cpuidle_state_table = ivt_cstates_8s;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/cpuidle.h>
|
||||
#include <linux/syscalls.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/io.h>
|
||||
|
@ -53,7 +54,9 @@ static void freeze_begin(void)
|
|||
|
||||
static void freeze_enter(void)
|
||||
{
|
||||
cpuidle_resume();
|
||||
wait_event(suspend_freeze_wait_head, suspend_freeze_wake);
|
||||
cpuidle_pause();
|
||||
}
|
||||
|
||||
void freeze_wake(void)
|
||||
|
|
Loading…
Reference in New Issue