arm64/sme: Fix context switch for SME only systems
authorMark Brown <broonie@kernel.org>
Tue, 27 Dec 2022 17:12:04 +0000 (17:12 +0000)
committerWill Deacon <will@kernel.org>
Thu, 5 Jan 2023 15:31:18 +0000 (15:31 +0000)
commit0cab5b4964c7064893e6ff5e81087a9206c63908
treeb162ef3e16da8c6a851d009e6f76fc7d4b8b3ff2
parent031af50045ea97ed4386eb3751ca2c134d0fc911
arm64/sme: Fix context switch for SME only systems

When refactoring fpsimd_load() to support keeping SVE enabled over syscalls
support for systems with SME but not SVE was broken. The code that selects
between loading regular FPSIMD and SVE states was guarded by using
system_supports_sve() but is also needed to handle the streaming SVE state
in SME only systems where that check will be false. Fix this by also
checking for system_supports_sme().

Fixes: a0136be443d5 ("arm64/fpsimd: Load FP state based on recorded data type")
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20221223-arm64-fix-sme-only-v1-1-938d663f69e5@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/fpsimd.c