summaryrefslogtreecommitdiffstats
path: root/arch/mips/Kconfig
diff options
context:
space:
mode:
authorPaul Burton2014-04-14 15:13:57 +0200
committerPaul Burton2014-05-28 17:20:31 +0200
commit1d8f1f5a780abe51257f7d2e33142f33d983a9ed (patch)
tree6f4be0e00ccd7e7c22c94222ea7da3521500560d /arch/mips/Kconfig
parentMIPS: pm-cps: add PM state entry code for CPS systems (diff)
downloadkernel-qcow2-linux-1d8f1f5a780abe51257f7d2e33142f33d983a9ed.tar.gz
kernel-qcow2-linux-1d8f1f5a780abe51257f7d2e33142f33d983a9ed.tar.xz
kernel-qcow2-linux-1d8f1f5a780abe51257f7d2e33142f33d983a9ed.zip
MIPS: smp-cps: hotplug support
This patch adds support for offlining CPUs via hotplug when using the CONFIG_MIPS_CPS SMP implementation. When a CPU is offlined one of 2 things will happen: - If the CPU is part of a core which implements the MT ASE and there is at least one other VPE online within that core then the VPE will be halted by settings its TCHalt bit. - Otherwise if supported the core will be powered down via the CPC. - Otherwise the CPU will hang by executing an infinite loop. Bringing CPUs back online is then a process of either clearing the appropriate VPEs TCHalt bit or powering up the appropriate core via the CPC. Throughout the process the struct core_boot_config vpe_mask field must be maintained such that mips_cps_boot_vpes will start & stop the correct VPEs. Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Diffstat (limited to 'arch/mips/Kconfig')
-rw-r--r--arch/mips/Kconfig2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index c79e6a4a0075..860a1e9e8d92 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -2059,9 +2059,11 @@ config MIPS_CPS
depends on SYS_SUPPORTS_MIPS_CPS
select MIPS_CM
select MIPS_CPC
+ select MIPS_CPS_PM if HOTPLUG_CPU
select MIPS_GIC_IPI
select SMP
select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
+ select SYS_SUPPORTS_HOTPLUG_CPU
select SYS_SUPPORTS_SMP
select WEAK_ORDERING
help