]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: Unmask PMR before going idle
authorJulien Thierry <julien.thierry@arm.com>
Thu, 31 Jan 2019 14:58:47 +0000 (14:58 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 6 Feb 2019 10:05:18 +0000 (10:05 +0000)
commitd75bfd7aee6728975db9583bed5f7b60cc4338cc
tree432ea57e608d7d2f0ecd0a477813f471c4f6a3eb
parent79b8bc42235700e80e3d6ca182aff7fc8f569081
arm64: Unmask PMR before going idle

CPU does not received signals for interrupts with a priority masked by
ICC_PMR_EL1. This means the CPU might not come back from a WFI
instruction.

Make sure ICC_PMR_EL1 does not mask interrupts when doing a WFI.

Since the logic of cpu_do_idle is becoming a bit more complex than just
two instructions, lets turn it from ASM to C.

Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Suggested-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/process.c
arch/arm64/mm/proc.S