platsmp.c (f45913fde00f13f502730809d128e607da2a57c8) | platsmp.c (65c9a8530bec45cea1137635b7992bbb417de9de) |
---|---|
1/* linux/arch/arm/mach-exynos4/platsmp.c 2 * 3 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. 4 * http://www.samsung.com 5 * 6 * Cloned from linux/arch/arm/mach-vexpress/platsmp.c 7 * 8 * Copyright (C) 2002 ARM Ltd. --- 14 unchanged lines hidden (view full) --- 23 24#include <asm/cacheflush.h> 25#include <asm/smp_plat.h> 26#include <asm/smp_scu.h> 27#include <asm/firmware.h> 28 29#include <mach/hardware.h> 30#include <mach/regs-clock.h> | 1/* linux/arch/arm/mach-exynos4/platsmp.c 2 * 3 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. 4 * http://www.samsung.com 5 * 6 * Cloned from linux/arch/arm/mach-vexpress/platsmp.c 7 * 8 * Copyright (C) 2002 ARM Ltd. --- 14 unchanged lines hidden (view full) --- 23 24#include <asm/cacheflush.h> 25#include <asm/smp_plat.h> 26#include <asm/smp_scu.h> 27#include <asm/firmware.h> 28 29#include <mach/hardware.h> 30#include <mach/regs-clock.h> |
31#include <mach/regs-pmu.h> | |
32 33#include <plat/cpu.h> 34 35#include "common.h" | 31 32#include <plat/cpu.h> 33 34#include "common.h" |
35#include "regs-pmu.h" |
|
36 37extern void exynos4_secondary_startup(void); 38 39static inline void __iomem *cpu_boot_reg_base(void) 40{ 41 if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_1_1) 42 return S5P_INFORM5; 43 return S5P_VA_SYSRAM; --- 15 unchanged lines hidden (view full) --- 59 * Write pen_release in a way that is guaranteed to be visible to all 60 * observers, irrespective of whether they're taking part in coherency 61 * or not. This is necessary for the hotplug code to work reliably. 62 */ 63static void write_pen_release(int val) 64{ 65 pen_release = val; 66 smp_wmb(); | 36 37extern void exynos4_secondary_startup(void); 38 39static inline void __iomem *cpu_boot_reg_base(void) 40{ 41 if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_1_1) 42 return S5P_INFORM5; 43 return S5P_VA_SYSRAM; --- 15 unchanged lines hidden (view full) --- 59 * Write pen_release in a way that is guaranteed to be visible to all 60 * observers, irrespective of whether they're taking part in coherency 61 * or not. This is necessary for the hotplug code to work reliably. 62 */ 63static void write_pen_release(int val) 64{ 65 pen_release = val; 66 smp_wmb(); |
67 sync_cache_w(&pen_release); | 67 __cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release)); 68 outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1)); |
68} 69 70static void __iomem *scu_base_addr(void) 71{ 72 return (void __iomem *)(S5P_VA_SCU); 73} 74 75static DEFINE_SPINLOCK(boot_lock); --- 165 unchanged lines hidden --- | 69} 70 71static void __iomem *scu_base_addr(void) 72{ 73 return (void __iomem *)(S5P_VA_SCU); 74} 75 76static DEFINE_SPINLOCK(boot_lock); --- 165 unchanged lines hidden --- |