summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2020-12-09 16:58:47 +0100
committerArnd Bergmann <arnd@arndb.de>2020-12-09 16:58:48 +0100
commit2efc35dc439740652c46133357090fb5f03a90d0 (patch)
treefa800478f3af639da4abee5a16502132bed659cf /arch/arm
parent334d09c218c11c850510f79454f0c771e7243cc3 (diff)
parentf9135aaf2767500dee419c03640f7a3784b56559 (diff)
downloadlwn-2efc35dc439740652c46133357090fb5f03a90d0.tar.gz
lwn-2efc35dc439740652c46133357090fb5f03a90d0.zip
Merge tag 'samsung-soc-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/soc
Samsung mach/soc changes for v5.11 1. Do not use of_machine_is_compatible() in early CPU hotplug core. Full device tree walk causes "suspicious RCU usage" warnings. 2. Clear prefetch bits in default l2c_aux_val of L310 L2C - they are not needed. 3. Extend cpuidle support to P4 Note boards (Exynos4412). * tag 'samsung-soc-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: exynos: extend cpuidle support to P4 Note boards ARM: exynos: clear prefetch bits in default l2c_aux_val ARM: exynos: Simplify code in Exynos3250 CPU core restart path Link: https://lore.kernel.org/r/20201201204404.22675-4-krzk@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-exynos/exynos.c7
-rw-r--r--arch/arm/mach-exynos/platsmp.c2
2 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 700763e07083..25b01da4771b 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -177,7 +177,8 @@ static void __init exynos_dt_machine_init(void)
if (of_machine_is_compatible("samsung,exynos4210") ||
(of_machine_is_compatible("samsung,exynos4412") &&
(of_machine_is_compatible("samsung,trats2") ||
- of_machine_is_compatible("samsung,midas"))) ||
+ of_machine_is_compatible("samsung,midas") ||
+ of_machine_is_compatible("samsung,p4note"))) ||
of_machine_is_compatible("samsung,exynos3250") ||
of_machine_is_compatible("samsung,exynos5250"))
platform_device_register(&exynos_cpuidle);
@@ -206,8 +207,8 @@ static void __init exynos_dt_fixup(void)
}
DT_MACHINE_START(EXYNOS_DT, "Samsung Exynos (Flattened Device Tree)")
- .l2c_aux_val = 0x38400000,
- .l2c_aux_mask = 0xc60fffff,
+ .l2c_aux_val = 0x08400000,
+ .l2c_aux_mask = 0xf60fffff,
.smp = smp_ops(exynos_smp_ops),
.map_io = exynos_init_io,
.init_early = exynos_firmware_init,
diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c
index d7fedbb2eefe..ea0be59f469a 100644
--- a/arch/arm/mach-exynos/platsmp.c
+++ b/arch/arm/mach-exynos/platsmp.c
@@ -215,7 +215,7 @@ void exynos_core_restart(u32 core_id)
unsigned int timeout = 16;
u32 val;
- if (!of_machine_is_compatible("samsung,exynos3250"))
+ if (!soc_is_exynos3250())
return;
while (timeout && !pmu_raw_readl(S5P_PMU_SPARE2)) {