From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 742FAC433EF for ; Fri, 24 Jun 2022 03:05:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229996AbiFXDFY (ORCPT ); Thu, 23 Jun 2022 23:05:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58012 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229889AbiFXDFX (ORCPT ); Thu, 23 Jun 2022 23:05:23 -0400 Received: from ZXSHCAS2.zhaoxin.com (ZXSHCAS2.zhaoxin.com [210.0.225.50]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 99DBE33F; Thu, 23 Jun 2022 20:05:17 -0700 (PDT) Received: from zxbjmbx1.zhaoxin.com (10.29.252.163) by ZXSHCAS2.zhaoxin.com (10.28.252.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 24 Jun 2022 11:05:15 +0800 Received: from [10.32.56.37] (10.32.56.37) by zxbjmbx1.zhaoxin.com (10.29.252.163) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 24 Jun 2022 11:05:13 +0800 Subject: Re: [PATCH V1] x86/cstate: Add Zhaoxin/Centaur ACPI Cx FFH MWAIT support To: Dave Hansen , "Rafael J. Wysocki" , Len Brown , Pavel Machek , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , the arch/x86 maintainers , "H. Peter Anvin" , Linux PM , "Linux Kernel Mailing List" CC: , , , , ACPI Devel Maling List References: <0b583b7e-dcd3-be51-f367-1c12ac841d3f@zhaoxin.com> From: Tony W Wang-oc Message-ID: Date: Fri, 24 Jun 2022 11:05:12 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [10.32.56.37] X-ClientProxiedBy: ZXSHCAS1.zhaoxin.com (10.28.252.161) To zxbjmbx1.zhaoxin.com (10.29.252.163) Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org 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 >> --- >>  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