Re: [PATCH V1] x86/cstate: Add Zhaoxin/Centaur ACPI Cx FFH MWAIT support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@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?


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



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux