mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-05-09 08:43:46 +00:00
ARM: OMAP4: MPUSS PM: remove unnecessary shim functions for powerdomain control
The OMAP4 MPU subsystem power management code contains several unnecessary shim functions for powerdomain control; remove them. Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
This commit is contained in:
parent
1cd96478cf
commit
32d174ed1b
1 changed files with 7 additions and 37 deletions
|
@ -86,37 +86,6 @@ static inline void set_cpu_wakeup_addr(unsigned int cpu_id, u32 addr)
|
||||||
__raw_writel(addr, pm_info->wkup_sar_addr);
|
__raw_writel(addr, pm_info->wkup_sar_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Set the CPUx powerdomain's previous power state
|
|
||||||
*/
|
|
||||||
static inline void set_cpu_next_pwrst(unsigned int cpu_id,
|
|
||||||
unsigned int power_state)
|
|
||||||
{
|
|
||||||
struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu_id);
|
|
||||||
|
|
||||||
pwrdm_set_next_pwrst(pm_info->pwrdm, power_state);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Read CPU's previous power state
|
|
||||||
*/
|
|
||||||
static inline unsigned int read_cpu_prev_pwrst(unsigned int cpu_id)
|
|
||||||
{
|
|
||||||
struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu_id);
|
|
||||||
|
|
||||||
return pwrdm_read_prev_pwrst(pm_info->pwrdm);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Clear the CPUx powerdomain's previous power state
|
|
||||||
*/
|
|
||||||
static inline void clear_cpu_prev_pwrst(unsigned int cpu_id)
|
|
||||||
{
|
|
||||||
struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu_id);
|
|
||||||
|
|
||||||
pwrdm_clear_all_prev_pwrst(pm_info->pwrdm);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Store the SCU power status value to scratchpad memory
|
* Store the SCU power status value to scratchpad memory
|
||||||
*/
|
*/
|
||||||
|
@ -230,6 +199,7 @@ static void save_l2x0_context(void)
|
||||||
*/
|
*/
|
||||||
int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state)
|
int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state)
|
||||||
{
|
{
|
||||||
|
struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu);
|
||||||
unsigned int save_state = 0;
|
unsigned int save_state = 0;
|
||||||
unsigned int wakeup_cpu;
|
unsigned int wakeup_cpu;
|
||||||
|
|
||||||
|
@ -268,7 +238,7 @@ int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state)
|
||||||
save_state = 2;
|
save_state = 2;
|
||||||
|
|
||||||
cpu_clear_prev_logic_pwrst(cpu);
|
cpu_clear_prev_logic_pwrst(cpu);
|
||||||
set_cpu_next_pwrst(cpu, power_state);
|
pwrdm_set_next_pwrst(pm_info->pwrdm, power_state);
|
||||||
set_cpu_wakeup_addr(cpu, virt_to_phys(omap4_cpu_resume));
|
set_cpu_wakeup_addr(cpu, virt_to_phys(omap4_cpu_resume));
|
||||||
scu_pwrst_prepare(cpu, power_state);
|
scu_pwrst_prepare(cpu, power_state);
|
||||||
l2x0_pwrst_prepare(cpu, save_state);
|
l2x0_pwrst_prepare(cpu, save_state);
|
||||||
|
@ -286,7 +256,7 @@ int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state)
|
||||||
* domain transition
|
* domain transition
|
||||||
*/
|
*/
|
||||||
wakeup_cpu = smp_processor_id();
|
wakeup_cpu = smp_processor_id();
|
||||||
set_cpu_next_pwrst(wakeup_cpu, PWRDM_POWER_ON);
|
pwrdm_set_next_pwrst(pm_info->pwrdm, PWRDM_POWER_ON);
|
||||||
|
|
||||||
pwrdm_post_transition(NULL);
|
pwrdm_post_transition(NULL);
|
||||||
|
|
||||||
|
@ -300,8 +270,8 @@ int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state)
|
||||||
*/
|
*/
|
||||||
int __cpuinit omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state)
|
int __cpuinit omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state)
|
||||||
{
|
{
|
||||||
unsigned int cpu_state = 0;
|
|
||||||
struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu);
|
struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu);
|
||||||
|
unsigned int cpu_state = 0;
|
||||||
|
|
||||||
if (omap_rev() == OMAP4430_REV_ES1_0)
|
if (omap_rev() == OMAP4430_REV_ES1_0)
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
|
@ -309,8 +279,8 @@ int __cpuinit omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state)
|
||||||
if (power_state == PWRDM_POWER_OFF)
|
if (power_state == PWRDM_POWER_OFF)
|
||||||
cpu_state = 1;
|
cpu_state = 1;
|
||||||
|
|
||||||
clear_cpu_prev_pwrst(cpu);
|
pwrdm_clear_all_prev_pwrst(pm_info->pwrdm);
|
||||||
set_cpu_next_pwrst(cpu, power_state);
|
pwrdm_set_next_pwrst(pm_info->pwrdm, power_state);
|
||||||
set_cpu_wakeup_addr(cpu, virt_to_phys(pm_info->secondary_startup));
|
set_cpu_wakeup_addr(cpu, virt_to_phys(pm_info->secondary_startup));
|
||||||
scu_pwrst_prepare(cpu, power_state);
|
scu_pwrst_prepare(cpu, power_state);
|
||||||
|
|
||||||
|
@ -321,7 +291,7 @@ int __cpuinit omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state)
|
||||||
*/
|
*/
|
||||||
omap4_finish_suspend(cpu_state);
|
omap4_finish_suspend(cpu_state);
|
||||||
|
|
||||||
set_cpu_next_pwrst(cpu, PWRDM_POWER_ON);
|
pwrdm_set_next_pwrst(pm_info->pwrdm, PWRDM_POWER_ON);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue