x86/fpu: Add a helper to prepare AMX state for low-power CPU idle
authorChang S. Bae <chang.seok.bae@intel.com>
Wed, 8 Jun 2022 16:47:47 +0000 (09:47 -0700)
committerBorislav Petkov <bp@suse.de>
Tue, 19 Jul 2022 16:46:15 +0000 (18:46 +0200)
commitf17b168734c0fe47343a7502d012266a051f9942
tree3ddb9d53f6afa31304c60ae68808664472800038
parentff6992735ade75aae3e35d16b17da1008d753d28
x86/fpu: Add a helper to prepare AMX state for low-power CPU idle

When a CPU enters an idle state, a non-initialized AMX register state may
be the cause of preventing a deeper low-power state. Other extended
register states whether initialized or not do not impact the CPU idle
state.

The new helper can ensure the AMX state is initialized before the CPU is
idle, and it will be used by the intel idle driver.

Check the AMX_TILE feature bit before using XGETBV1 as a chain of
dependencies was established via cpuid_deps[]: AMX->XFD->XGETBV1.

Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20220608164748.11864-2-chang.seok.bae@intel.com
arch/x86/include/asm/fpu/api.h
arch/x86/include/asm/special_insns.h
arch/x86/kernel/fpu/core.c