Messages in this thread | | | Subject | Re: [PATCH V1] x86/cstate: Add Zhaoxin/Centaur ACPI Cx FFH MWAIT support | From | Tony W Wang-oc <> | Date | Fri, 24 Jun 2022 11:05:12 +0800 |
| |
On 23/6/2022 23:55, Dave Hansen wrote: > 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@zhaoxin.com> >> --- >> 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? >
Yes, agree!
Will change as below. Please help to check if it is OK. Thanks a lot. static int __init ffh_cstate_init(void) { - struct cpuinfo_x86 *c = &boot_cpu_data; - - if (c->x86_vendor != X86_VENDOR_INTEL && - c->x86_vendor != X86_VENDOR_AMD && - c->x86_vendor != X86_VENDOR_HYGON) + if (!boot_cpu_has(X86_FEATURE_MWAIT)) return -1;
> 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. > . >
-- Sincerely TonyWWang-oc
| |