arm64/sme: Disable streaming mode and ZA when flushing CPU state
authorMark Brown <broonie@kernel.org>
Tue, 19 Apr 2022 11:22:30 +0000 (12:22 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 22 Apr 2022 17:51:19 +0000 (18:51 +0100)
commitd45d7ff7047f7f6c3221b0f028fade640812f931
tree4e87f3baedc2cac522fb4a0b415486e6bdca06ad
parent776b4a1cf36411e96972455ca72906b722b80ea1
arm64/sme: Disable streaming mode and ZA when flushing CPU state

Both streaming mode and ZA may increase power consumption when they are
enabled and streaming mode makes many FPSIMD and SVE instructions undefined
which will cause problems for any kernel mode floating point so disable
both when we flush the CPU state. This covers both kernel_neon_begin() and
idle and after flushing the state a reload is always required anyway.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20220419112247.711548-23-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/fpsimd.c