aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/omap-hotplug.c
AgeCommit message (Collapse)AuthorFilesLines
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500Thomas Gleixner1-4/+1
Based on 2 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation # extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 4122 file(s). Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Enrico Weigelt <[email protected]> Reviewed-by: Kate Stewart <[email protected]> Reviewed-by: Allison Randal <[email protected]> Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2017-03-27ARM: omap2+: Revert omap-smp.c changes resetting CPU1 during bootTony Lindgren1-1/+1
Commit 3251885285e1 ("ARM: OMAP4+: Reset CPU1 properly for kexec") started unconditionally resetting CPU1 because of a kexec boot issue I was seeing earlier on omap4 when doing kexec boot between two different kernel versions. This caused issues on some systems. We should only reset CPU1 as a last resort option, and try to avoid it where possible. Doing an unconditional CPU1 reset causes issues for example when booting a bootloader configured secure OS running on CPU1 as reported by Andrew F. Davis <[email protected]>. We can't completely remove the reset of CPU1 as it would break kexec booting from older kernels. But we can limit the CPU1 reset to cases where CPU1 is wrongly parked within the memory area used by the booting kernel. Then later on we can add support for parking CPU1 for kexec out of the SDRAM back to bootrom. So let's first fix the regression reported by Andrew by making CPU1 reset conditional. To do this, we need to: 1. Save configured AUX_CORE_BOOT_1 for later 2. Modify AUX_CORE_BOOT_0 reading code to for HS SoCs to return the whole register instead of the CPU mask 3. Check if CPU1 is wrongly parked into the booting kernel by the previous kernel and reset if needed Fixes: 3251885285e1 ("ARM: OMAP4+: Reset CPU1 properly for kexec") Reported-by: Andrew F. Davis <[email protected]> Cc: Andrew F. Davis <[email protected]> Cc: Keerthy <[email protected]> Cc: Russell King <[email protected]> Cc: Santosh Shilimkar <[email protected]> Cc: Tero Kristo <[email protected]> Tested-by: Keerthy <[email protected]> Tested-by: Andrew F. Davis <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2016-06-22ARM: OMAP4+: Allow kexec on SMP variantsTony Lindgren1-0/+6
Kexec needs omap4_cpu_kill, otherwise kexec will produce on SMP: kexec_load failed: Invalid argument Acked-by: Santosh Shilimkar <[email protected]> Tested-by: Keerthy <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2015-10-22ARM: Remove __ref on hotplug cpu die pathStephen Boyd1-1/+1
Now that __cpuinit has been removed, the __ref markings on these functions are useless. Remove them. This also reduces the size of the multi_v7_defconfig image: $ size before after text data bss dec hex filename 12683578 1470996 348904 14503478 dd4e36 before 12683274 1470996 348904 14503174 dd4d06 after presumably because now we don't have to jump to code in the .ref.text section and/or the noinline marking is removed. Cc: Shiraz Hashim <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Alexandre Courbot <[email protected]> Cc: Lorenzo Pieralisi <[email protected]> Cc: Will Deacon <[email protected]> Cc: <[email protected]> Cc: <[email protected]> Cc: <[email protected]> Cc: <[email protected]> Acked-by: Tony Lindgren <[email protected]> Acked-by: Barry Song <[email protected]> Acked-by: Andy Gross <[email protected]> Acked-by: Viresh Kumar <[email protected]> Acked-by: Thierry Reding <[email protected]> Acked-by: Linus Walleij <[email protected]> Acked-by: Sudeep Holla <[email protected]> Acked-by: Mark Rutland <[email protected]> Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
2014-05-08ARM: OMAP2+: raw read and write endian fixVictor Kamensky1-2/+2
All OMAP IP blocks expect LE data, but CPU may operate in BE mode. Need to use endian neutral functions to read/write h/w registers. I.e instead of __raw_read[lw] and __raw_write[lw] functions code need to use read[lw]_relaxed and write[lw]_relaxed functions. If the first simply reads/writes register, the second will byteswap it if host operates in BE mode. Changes are trivial sed like replacement of __raw_xxx functions with xxx_relaxed variant. Signed-off-by: Victor Kamensky <[email protected]> Signed-off-by: Taras Kondratiuk <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2013-03-28ARM: OMAP4+: Remove the un-necessary cache flush from hotplug codeSantosh Shilimkar1-6/+0
This was added with intial port where OMAP PM support wasn't existing and only simple WFI based hooks were used. This should have been cleaned up while adding the PM support but some how fall through cracks. So remove the cache flush code which is no longer needed now. Signed-off-by: Santosh Shilimkar <[email protected]>
2012-09-22Merge branch 'multiplatform/smp_ops' into next/multiplatformOlof Johansson1-15/+1
* multiplatform/smp_ops: ARM: consolidate pen_release instead of having per platform definitions ARM: smp: Make SMP operations mandatory ARM: SoC: convert spear13xx to SMP operations ARM: SoC: convert imx6q to SMP operations ARM: SoC: convert highbank to SMP operations ARM: SoC: convert shmobile SMP to SMP operations ARM: SoC: convert ux500 to SMP operations ARM: SoC: convert MSM to SMP operations ARM: SoC: convert Exynos4 to SMP operations ARM: SoC: convert Tegra to SMP operations ARM: SoC: convert OMAP4 to SMP operations ARM: SoC: convert VExpress/RealView to SMP operations ARM: SoC: add per-platform SMP operations Conflicts due to file moves or removals in: arch/arm/mach-msm/board-msm8960.c arch/arm/mach-msm/board-msm8x60.c arch/arm/mach-tegra/board-harmony.c arch/arm/mach-tegra/board-trimslice.c Conflicts due to board file cleanup: arch/arm/mach-tegra/board-paz00.c Conflicts due to cpu hotplug addition: arch/arm/mach-tegra/hotplug.c Signed-off-by: Olof Johansson <[email protected]>
2012-09-20ARM: OMAP2+: Make omap-wakeupgen.h localTony Lindgren1-1/+1
This can be local to mach-omap2. Signed-off-by: Tony Lindgren <[email protected]>
2012-09-13ARM: SoC: convert OMAP4 to SMP operationsMarc Zyngier1-15/+1
Convert OMAP4 to use struct smp_operations to provide its SMP and CPU hotplug operations. Tested on both Panda and IGEPv2 (MULTI_OMAP kernel) Signed-off-by: Marc Zyngier <[email protected]> Reviewed-by: Santosh Shilimkar <[email protected]> Acked-by: Nicolas Pitre <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2012-07-09ARM: OMAP5: Add the WakeupGen IP updatesSantosh Shilimkar1-5/+19
OMAP4 and OMAP5 share same WakeupGen IP with below few udpates on OMAP5. - Additional 32 interrupt support is added w.r.t OMAP4 design. - The AUX CORE boot registers are now made accessible from non-secure SW. - SAR offset are changed and PTMSYNC* registers are removed from SAR. Patch updates the WakeupGen code accordingly. Signed-off-by: R Sricharan <[email protected]> Signed-off-by: Santosh Shilimkar <[email protected]>
2012-02-28ARM: OMAP: Fix section mismatch warning for platform_cpu_die()Santosh Shilimkar1-1/+1
WARNING: vmlinux.o(.text+0x226d0): Section mismatch in reference from the function platform_cpu_die() to the function .cpuinit.text:omap4_hotplug_cpu() The function platform_cpu_die() references the function __cpuinit omap4_hotplug_cpu(). This is often because platform_cpu_die lacks a __cpuinit annotation or the annotation of omap4_hotplug_cpu is wrong. Thanks to Russell King for suggesting to use __ref instead of the initial (and wrong) approach to use __cpuinit. Signed-off-by: Santosh Shilimkar <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2011-12-08ARM: OMAP4: PM: Program CPU1 to hit OFF when off-linedSantosh Shilimkar1-5/+9
Program non-boot CPUs to hit lowest supported power state when it is off-lined using cpu hotplug framework. Signed-off-by: Santosh Shilimkar <[email protected]> Acked-by: Jean Pihet <[email protected]> Reviewed-by: Kevin Hilman <[email protected]> Tested-by: Vishwanath BS <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2011-11-17ARM: 7159/1: OMAP: Introduce local common.h filesTony Lindgren1-1/+2
As suggested by Russell King - ARM Linux <[email protected]>, there's no need to keep local prototypes in non-local headers. Add mach-omap1/common.h and mach-omap2/common.h and move the local prototypes there from plat/common.h and mach/omap4-common.h. Signed-off-by: Tony Lindgren <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-12-20ARM: CPU hotplug: remove bug checks in platform_cpu_die()Russell King1-8/+0
platform_cpu_die() is entered from the CPU's own idle thread, which can not be migrated to other CPUs. Moreover, the 'cpu' argument comes from the thread info, which will always be the 'current' CPU. So remove this useless bug check. Signed-off-by: Russell King <[email protected]>
2010-12-20ARM: CPU hotplug: move cpu_killed completion to core codeRussell King1-6/+2
We always need to wait for the dying CPU to reach a safe state before taking it down, irrespective of the requirements of the platform. Move the completion code into the ARM SMP hotplug code rather than having each platform re-implement this. Signed-off-by: Russell King <[email protected]>
2010-08-02omap4: hotplug: Add basic CPU hotplug supportSantosh Shilimkar1-0/+79
This patch adds cpu hotplug support for OMAP4430. Only CPU inactive state is supported as a low power state in the basic hot-plug support Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Santosh Shilimkar <[email protected]> Cc: Kevin Hilman <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>