diff options
author | Arnd Bergmann <arnd@arndb.de> | 2020-12-09 16:58:47 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2020-12-09 16:58:48 +0100 |
commit | 2efc35dc439740652c46133357090fb5f03a90d0 (patch) | |
tree | fa800478f3af639da4abee5a16502132bed659cf /arch/arm | |
parent | 334d09c218c11c850510f79454f0c771e7243cc3 (diff) | |
parent | f9135aaf2767500dee419c03640f7a3784b56559 (diff) | |
download | lwn-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.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-exynos/platsmp.c | 2 |
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)) { |