Loading arch/arm/mach-highbank/pm.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -36,11 +36,11 @@ static int highbank_suspend_finish(unsigned long val) static int highbank_pm_enter(suspend_state_t state) static int highbank_pm_enter(suspend_state_t state) { { cpu_pm_enter(); cpu_pm_enter(); cpu_cluster_pm_enter(); cpu_cluster_pm_enter(0); cpu_suspend(0, highbank_suspend_finish); cpu_suspend(0, highbank_suspend_finish); cpu_cluster_pm_exit(); cpu_cluster_pm_exit(0); cpu_pm_exit(); cpu_pm_exit(); return 0; return 0; Loading arch/arm/mach-omap2/cpuidle44xx.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -169,7 +169,7 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, * to save GIC and wakeupgen context. * to save GIC and wakeupgen context. */ */ if (mpuss_can_lose_context) if (mpuss_can_lose_context) cpu_cluster_pm_enter(); cpu_cluster_pm_enter(0); } } omap4_enter_lowpower(dev->cpu, cx->cpu_state); omap4_enter_lowpower(dev->cpu, cx->cpu_state); Loading Loading @@ -207,7 +207,7 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, * to restore GIC and wakeupgen context. * to restore GIC and wakeupgen context. */ */ if (dev->cpu == 0 && mpuss_can_lose_context) if (dev->cpu == 0 && mpuss_can_lose_context) cpu_cluster_pm_exit(); cpu_cluster_pm_exit(0); tick_broadcast_exit(); tick_broadcast_exit(); Loading arch/arm/mach-tegra/pm.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -192,13 +192,13 @@ void tegra_idle_lp2_last(void) { { tegra_pm_set(TEGRA_SUSPEND_LP2); tegra_pm_set(TEGRA_SUSPEND_LP2); cpu_cluster_pm_enter(); cpu_cluster_pm_enter(0); suspend_cpu_complex(); suspend_cpu_complex(); cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu); cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu); restore_cpu_complex(); restore_cpu_complex(); cpu_cluster_pm_exit(); cpu_cluster_pm_exit(0); } } enum tegra_suspend_mode tegra_pm_validate_suspend_mode( enum tegra_suspend_mode tegra_pm_validate_suspend_mode( Loading drivers/irqchip/irq-gic.c +13 −3 Original line number Original line Diff line number Diff line Loading @@ -715,7 +715,8 @@ void gic_cpu_restore(struct gic_chip_data *gic) gic_cpu_if_up(gic); gic_cpu_if_up(gic); } } static int gic_notifier(struct notifier_block *self, unsigned long cmd, void *v) static int gic_notifier(struct notifier_block *self, unsigned long cmd, void *aff_level) { { int i; int i; Loading @@ -734,10 +735,19 @@ static int gic_notifier(struct notifier_block *self, unsigned long cmd, void *v) gic_cpu_restore(&gic_data[i]); gic_cpu_restore(&gic_data[i]); break; break; case CPU_CLUSTER_PM_ENTER: case CPU_CLUSTER_PM_ENTER: /* * Affinity level of the node * eg: * cpu level = 0 * l2 level = 1 * cci level = 2 */ if (!(unsigned long)aff_level) gic_dist_save(&gic_data[i]); gic_dist_save(&gic_data[i]); break; break; case CPU_CLUSTER_PM_ENTER_FAILED: case CPU_CLUSTER_PM_ENTER_FAILED: case CPU_CLUSTER_PM_EXIT: case CPU_CLUSTER_PM_EXIT: if (!(unsigned long)aff_level) gic_dist_restore(&gic_data[i]); gic_dist_restore(&gic_data[i]); break; break; } } Loading include/linux/cpu_pm.h +4 −4 Original line number Original line Diff line number Diff line Loading @@ -71,8 +71,8 @@ int cpu_pm_register_notifier(struct notifier_block *nb); int cpu_pm_unregister_notifier(struct notifier_block *nb); int cpu_pm_unregister_notifier(struct notifier_block *nb); int cpu_pm_enter(void); int cpu_pm_enter(void); int cpu_pm_exit(void); int cpu_pm_exit(void); int cpu_cluster_pm_enter(void); int cpu_cluster_pm_enter(unsigned long aff_level); int cpu_cluster_pm_exit(void); int cpu_cluster_pm_exit(unsigned long aff_level); #else #else Loading @@ -96,12 +96,12 @@ static inline int cpu_pm_exit(void) return 0; return 0; } } static inline int cpu_cluster_pm_enter(void) static inline int cpu_cluster_pm_enter(unsigned long aff_level) { { return 0; return 0; } } static inline int cpu_cluster_pm_exit(void) static inline int cpu_cluster_pm_exit(unsigned long aff_level) { { return 0; return 0; } } Loading Loading
arch/arm/mach-highbank/pm.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -36,11 +36,11 @@ static int highbank_suspend_finish(unsigned long val) static int highbank_pm_enter(suspend_state_t state) static int highbank_pm_enter(suspend_state_t state) { { cpu_pm_enter(); cpu_pm_enter(); cpu_cluster_pm_enter(); cpu_cluster_pm_enter(0); cpu_suspend(0, highbank_suspend_finish); cpu_suspend(0, highbank_suspend_finish); cpu_cluster_pm_exit(); cpu_cluster_pm_exit(0); cpu_pm_exit(); cpu_pm_exit(); return 0; return 0; Loading
arch/arm/mach-omap2/cpuidle44xx.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -169,7 +169,7 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, * to save GIC and wakeupgen context. * to save GIC and wakeupgen context. */ */ if (mpuss_can_lose_context) if (mpuss_can_lose_context) cpu_cluster_pm_enter(); cpu_cluster_pm_enter(0); } } omap4_enter_lowpower(dev->cpu, cx->cpu_state); omap4_enter_lowpower(dev->cpu, cx->cpu_state); Loading Loading @@ -207,7 +207,7 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, * to restore GIC and wakeupgen context. * to restore GIC and wakeupgen context. */ */ if (dev->cpu == 0 && mpuss_can_lose_context) if (dev->cpu == 0 && mpuss_can_lose_context) cpu_cluster_pm_exit(); cpu_cluster_pm_exit(0); tick_broadcast_exit(); tick_broadcast_exit(); Loading
arch/arm/mach-tegra/pm.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -192,13 +192,13 @@ void tegra_idle_lp2_last(void) { { tegra_pm_set(TEGRA_SUSPEND_LP2); tegra_pm_set(TEGRA_SUSPEND_LP2); cpu_cluster_pm_enter(); cpu_cluster_pm_enter(0); suspend_cpu_complex(); suspend_cpu_complex(); cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu); cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu); restore_cpu_complex(); restore_cpu_complex(); cpu_cluster_pm_exit(); cpu_cluster_pm_exit(0); } } enum tegra_suspend_mode tegra_pm_validate_suspend_mode( enum tegra_suspend_mode tegra_pm_validate_suspend_mode( Loading
drivers/irqchip/irq-gic.c +13 −3 Original line number Original line Diff line number Diff line Loading @@ -715,7 +715,8 @@ void gic_cpu_restore(struct gic_chip_data *gic) gic_cpu_if_up(gic); gic_cpu_if_up(gic); } } static int gic_notifier(struct notifier_block *self, unsigned long cmd, void *v) static int gic_notifier(struct notifier_block *self, unsigned long cmd, void *aff_level) { { int i; int i; Loading @@ -734,10 +735,19 @@ static int gic_notifier(struct notifier_block *self, unsigned long cmd, void *v) gic_cpu_restore(&gic_data[i]); gic_cpu_restore(&gic_data[i]); break; break; case CPU_CLUSTER_PM_ENTER: case CPU_CLUSTER_PM_ENTER: /* * Affinity level of the node * eg: * cpu level = 0 * l2 level = 1 * cci level = 2 */ if (!(unsigned long)aff_level) gic_dist_save(&gic_data[i]); gic_dist_save(&gic_data[i]); break; break; case CPU_CLUSTER_PM_ENTER_FAILED: case CPU_CLUSTER_PM_ENTER_FAILED: case CPU_CLUSTER_PM_EXIT: case CPU_CLUSTER_PM_EXIT: if (!(unsigned long)aff_level) gic_dist_restore(&gic_data[i]); gic_dist_restore(&gic_data[i]); break; break; } } Loading
include/linux/cpu_pm.h +4 −4 Original line number Original line Diff line number Diff line Loading @@ -71,8 +71,8 @@ int cpu_pm_register_notifier(struct notifier_block *nb); int cpu_pm_unregister_notifier(struct notifier_block *nb); int cpu_pm_unregister_notifier(struct notifier_block *nb); int cpu_pm_enter(void); int cpu_pm_enter(void); int cpu_pm_exit(void); int cpu_pm_exit(void); int cpu_cluster_pm_enter(void); int cpu_cluster_pm_enter(unsigned long aff_level); int cpu_cluster_pm_exit(void); int cpu_cluster_pm_exit(unsigned long aff_level); #else #else Loading @@ -96,12 +96,12 @@ static inline int cpu_pm_exit(void) return 0; return 0; } } static inline int cpu_cluster_pm_enter(void) static inline int cpu_cluster_pm_enter(unsigned long aff_level) { { return 0; return 0; } } static inline int cpu_cluster_pm_exit(void) static inline int cpu_cluster_pm_exit(unsigned long aff_level) { { return 0; return 0; } } Loading