On 6/22/22 18:26, Tony W Wang-oc wrote: > Recent Zhaoxin/Centaur CPUs support X86_FEATURE_MWAIT that implies > the MONITOR/MWAIT instructions can be used for ACPI Cx state. > The BIOS declares Cx state in _CST object to use FFH on Zhaoxin/Centaur > systems. So let function ffh_cstate_init() support These CPUs too. > > Signed-off-by: Tony W Wang-oc <TonyWWang-oc@xxxxxxxxxxx> > --- > arch/x86/kernel/acpi/cstate.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kernel/acpi/cstate.c b/arch/x86/kernel/acpi/cstate.c > index 7945eae..d4185e1 100644 > --- a/arch/x86/kernel/acpi/cstate.c > +++ b/arch/x86/kernel/acpi/cstate.c > @@ -213,7 +213,9 @@ static int __init ffh_cstate_init(void) > > if (c->x86_vendor != X86_VENDOR_INTEL && > c->x86_vendor != X86_VENDOR_AMD && > - c->x86_vendor != X86_VENDOR_HYGON) > + c->x86_vendor != X86_VENDOR_HYGON && > + c->x86_vendor != X86_VENDOR_CENTAUR && > + c->x86_vendor != X86_VENDOR_ZHAOXIN) > return -1; Many of the changelogs that add new vendors here go on about particular C states declared in the _CST object and contents of CPUID leaf 5. Why do we even _have_ a vendor check here? Shouldn't the code just be going and doing the validation of the _CST object and CPUID that the changelogs blather on about? Intel certainly made the original sin on this one (see 991528d7348), but I hope _something_ changed in the 16 years since that patch went in.