From: Arnd Bergmann Date: Sat, 26 Jul 2014 15:54:21 +0000 (+0200) Subject: Merge branch 'next/fixes-non-critical' into next/soc X-Git-Tag: firefly_0821_release~176^2~3447^2~10 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=944483d0330bb497549977aa9649be6b7d0ede37;p=firefly-linux-kernel-4.4.55.git Merge branch 'next/fixes-non-critical' into next/soc This resolves a nontrivial conflict against a bug fix in another branch. Conflicts: arch/arm/mach-exynos/pm.c Signed-off-by: Arnd Bergmann --- 944483d0330bb497549977aa9649be6b7d0ede37 diff --cc arch/arm/mach-exynos/platsmp.c index 7c829989859c,29500da24dd5..2207598ce049 --- a/arch/arm/mach-exynos/platsmp.c +++ b/arch/arm/mach-exynos/platsmp.c @@@ -33,6 -32,72 +33,72 @@@ extern void exynos4_secondary_startup(void); + /** + * exynos_core_power_down : power down the specified cpu + * @cpu : the cpu to power down + * + * Power down the specified cpu. The sequence must be finished by a + * call to cpu_do_idle() + * + */ + void exynos_cpu_power_down(int cpu) + { - __raw_writel(0, EXYNOS_ARM_CORE_CONFIGURATION(cpu)); ++ pmu_raw_writel(0, EXYNOS_ARM_CORE_CONFIGURATION(cpu)); + } + + /** + * exynos_cpu_power_up : power up the specified cpu + * @cpu : the cpu to power up + * + * Power up the specified cpu + */ + void exynos_cpu_power_up(int cpu) + { - __raw_writel(S5P_CORE_LOCAL_PWR_EN, - EXYNOS_ARM_CORE_CONFIGURATION(cpu)); ++ pmu_raw_writel(S5P_CORE_LOCAL_PWR_EN, ++ EXYNOS_ARM_CORE_CONFIGURATION(cpu)); + } + + /** + * exynos_cpu_power_state : returns the power state of the cpu + * @cpu : the cpu to retrieve the power state from + * + */ + int exynos_cpu_power_state(int cpu) + { - return (__raw_readl(EXYNOS_ARM_CORE_STATUS(cpu)) & ++ return (pmu_raw_readl(EXYNOS_ARM_CORE_STATUS(cpu)) & + S5P_CORE_LOCAL_PWR_EN); + } + + /** + * exynos_cluster_power_down : power down the specified cluster + * @cluster : the cluster to power down + */ + void exynos_cluster_power_down(int cluster) + { - __raw_writel(0, EXYNOS_COMMON_CONFIGURATION(cluster)); ++ pmu_raw_writel(0, EXYNOS_COMMON_CONFIGURATION(cluster)); + } + + /** + * exynos_cluster_power_up : power up the specified cluster + * @cluster : the cluster to power up + */ + void exynos_cluster_power_up(int cluster) + { - __raw_writel(S5P_CORE_LOCAL_PWR_EN, - EXYNOS_COMMON_CONFIGURATION(cluster)); ++ pmu_raw_writel(S5P_CORE_LOCAL_PWR_EN, ++ EXYNOS_COMMON_CONFIGURATION(cluster)); + } + + /** + * exynos_cluster_power_state : returns the power state of the cluster + * @cluster : the cluster to retrieve the power state from + * + */ + int exynos_cluster_power_state(int cluster) + { - return (__raw_readl(EXYNOS_COMMON_STATUS(cluster)) & - S5P_CORE_LOCAL_PWR_EN); ++ return (pmu_raw_readl(EXYNOS_COMMON_STATUS(cluster)) & ++ S5P_CORE_LOCAL_PWR_EN); + } + static inline void __iomem *cpu_boot_reg_base(void) { if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_1_1) diff --cc arch/arm/mach-exynos/pm.c index c4c6d98ada52,20a8e0efd5db..3e046a986e60 --- a/arch/arm/mach-exynos/pm.c +++ b/arch/arm/mach-exynos/pm.c @@@ -100,82 -100,12 +100,16 @@@ static int exynos_irq_set_wake(struct i return -ENOENT; } - /** - * exynos_core_power_down : power down the specified cpu - * @cpu : the cpu to power down - * - * Power down the specified cpu. The sequence must be finished by a - * call to cpu_do_idle() - * - */ - void exynos_cpu_power_down(int cpu) - { - pmu_raw_writel(0, EXYNOS_ARM_CORE_CONFIGURATION(cpu)); - } - - /** - * exynos_cpu_power_up : power up the specified cpu - * @cpu : the cpu to power up - * - * Power up the specified cpu - */ - void exynos_cpu_power_up(int cpu) - { - pmu_raw_writel(S5P_CORE_LOCAL_PWR_EN, - EXYNOS_ARM_CORE_CONFIGURATION(cpu)); - } - - /** - * exynos_cpu_power_state : returns the power state of the cpu - * @cpu : the cpu to retrieve the power state from - * - */ - int exynos_cpu_power_state(int cpu) - { - return (pmu_raw_readl(EXYNOS_ARM_CORE_STATUS(cpu)) & - S5P_CORE_LOCAL_PWR_EN); - } - - /** - * exynos_cluster_power_down : power down the specified cluster - * @cluster : the cluster to power down - */ - void exynos_cluster_power_down(int cluster) - { - pmu_raw_writel(0, EXYNOS_COMMON_CONFIGURATION(cluster)); - } - - /** - * exynos_cluster_power_up : power up the specified cluster - * @cluster : the cluster to power up - */ - void exynos_cluster_power_up(int cluster) - { - pmu_raw_writel(S5P_CORE_LOCAL_PWR_EN, - EXYNOS_COMMON_CONFIGURATION(cluster)); - } - - /** - * exynos_cluster_power_state : returns the power state of the cluster - * @cluster : the cluster to retrieve the power state from - * - */ - int exynos_cluster_power_state(int cluster) - { - return (pmu_raw_readl(EXYNOS_COMMON_STATUS(cluster)) & - S5P_CORE_LOCAL_PWR_EN); - } - #define EXYNOS_BOOT_VECTOR_ADDR (samsung_rev() == EXYNOS4210_REV_1_1 ? \ - S5P_INFORM7 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ - (sysram_base_addr + 0x24) : S5P_INFORM0)) + pmu_base_addr + S5P_INFORM7 : \ + (samsung_rev() == EXYNOS4210_REV_1_0 ? \ + (sysram_base_addr + 0x24) : \ + pmu_base_addr + S5P_INFORM0)) #define EXYNOS_BOOT_VECTOR_FLAG (samsung_rev() == EXYNOS4210_REV_1_1 ? \ - S5P_INFORM6 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ - (sysram_base_addr + 0x20) : S5P_INFORM1)) + pmu_base_addr + S5P_INFORM6 : \ + (samsung_rev() == EXYNOS4210_REV_1_0 ? \ + (sysram_base_addr + 0x20) : \ + pmu_base_addr + S5P_INFORM1)) #define S5P_CHECK_AFTR 0xFCBA0D10 #define S5P_CHECK_SLEEP 0x00000BAD