summaryrefslogtreecommitdiff
path: root/include/linux/irqchip/arm-gic.h
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2013-07-18 16:50:59 -0400
committerNicolas Pitre <nicolas.pitre@linaro.org>2013-07-30 09:00:43 -0400
commit71a8986d7e4845b6fca1298fe6e3233ce6fde0b7 (patch)
tree3ebe3aad6373daf813698da3923b2e7ee1772436 /include/linux/irqchip/arm-gic.h
parent5ae90d8e467e625e447000cb4335c4db973b1095 (diff)
ARM: suspend: use hash of cpu_logical_map value to index into save array
Currently we hash the MPIDR of the CPU being suspended to determine which entry in the sleep_save_sp array to use. In some situations, such as when we want to resume on another physical CPU, the MPIDR of another CPU should be used instead. So let's use the value of cpu_logical_map(smp_processor_id()) in place of the MPIDR in the suspend path. This will result in the same index being used as with the previous code unless the caller has modified cpu_logical_map() beforehand with the MPIDR of the physical CPU the suspending logical CPU will resume on. Consequently, if doing a physical CPU migration, cpu_logical_map() must be updated appropriately somewhere between cpu_pm_enter() and cpu_suspend(). The register allocation in __cpu_suspend is reworked in order to better accommodate the additional argument. Signed-off-by: Nicolas Pitre <nico@linaro.org> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Diffstat (limited to 'include/linux/irqchip/arm-gic.h')
0 files changed, 0 insertions, 0 deletions