Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1926529imm; Sun, 12 Aug 2018 02:56:51 -0700 (PDT) X-Google-Smtp-Source: AA+uWPybukmaWzf2VKdhzkhDOlQ+ff3ghhfn9NPpF8jbPYP6DzzL8NlcSiMTzJIbvIoZuoN5j5zy X-Received: by 2002:a62:13ca:: with SMTP id 71-v6mr14570895pft.34.1534067811653; Sun, 12 Aug 2018 02:56:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534067811; cv=none; d=google.com; s=arc-20160816; b=omIMwf2gPbY2EXTC0AAxuIz9ZDysIi4pfUEf5D9iNr6d/J9PYQkQokfmUqvuRBzJ2/ 42Z+bUwqkqXZHcHbTRi1AYxsp1qwniu2zhmsWtPj0sjeplCLzrG40i4y9Pr6epPT5kwv PePtTcxSuvLWRBhsP/4KJI2LRVviGjAmA4VnCXgVU+ne6ifGfeaDvUlndURSXxV4A+BY zkgtIX9vm/av4sl1wSHaDyKC6mmVI5yZqNYAzHRstFwScekVgwGuVFRam3K3gjKlv9Ej zoxsD5RDPx+jpHJkKiPu18YY46Ur8hlSu8pORLiILKl+Lm400iBFbJ2b4UraRKRzml1G 4TkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:arc-authentication-results; bh=A3gzcv/MqNWCrshZaWPMCuDOCvVulEQyurWGfXFj5zU=; b=KOAugLv0s/ARiA85wCj7i2a8SyA1qqGeNEMiAZ+hIhWw0xzwgUVvHkxTxKHhhx7Bp/ eEmdQlJ2PSRoncShVI9/bWRsn9n2fFreo9LHCswKMrEm3crjM7dLKU22Gg14jvLBEj3E LQIy2KRvnTnHPWZp+C9v+xeiAoSKiyT28ITc5P4SKhZESOZbnuByspS9jXZySQnYcgAe a+C8I50tz+PCbuFmRpgSE9keE+3dpizgu1rQTlpTzqT+UghTxOrC9u46ysYbCcT+S2hC A8lqfNo6m1b4cKNUK64sl+sW1Epf6qRY3Yrc83ggqo62cBgUDXgRU9UUiDnlcK/ZjoKW l0OA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i5-v6si10704397plt.112.2018.08.12.02.56.36; Sun, 12 Aug 2018 02:56:51 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727943AbeHLMdO (ORCPT + 99 others); Sun, 12 Aug 2018 08:33:14 -0400 Received: from mail-oi0-f68.google.com ([209.85.218.68]:36948 "EHLO mail-oi0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727549AbeHLMdO (ORCPT ); Sun, 12 Aug 2018 08:33:14 -0400 Received: by mail-oi0-f68.google.com with SMTP id j205-v6so22703362oib.4; Sun, 12 Aug 2018 02:55:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=A3gzcv/MqNWCrshZaWPMCuDOCvVulEQyurWGfXFj5zU=; b=p2753jq0hOiL/rwlrtk0bFEgh6gMoorIKbix//kk+CwEVy88dERA0E9FqXon0eOlmc t52aS9i/s6HLmmWiEntq5nn7o7FDaBKhOsi0FPD3hUXmSIneFg8k2JS5ttkB8yn53aLA liX1HBSAHcfLreD0tQoFnHx2W/CnoPa4PqxK5CbhKZEzGDLt02NQQQYYb6y7llF6CkR5 TwcrijqRyccbG6s/AzqzMeJXYxNnPI/1rO4HyOg0M7e97CBfEkx3Nr2qy5WE24WUCyS+ yAOJsyr6R0O8KQqrUOVoEbYckaEQDUDKUpApvhdqcD4eQf5jZCr1+hP2pY7ydtIkoVmu ymsA== X-Gm-Message-State: AOUpUlHLyP+cfxiRPir94K0ktqcR1SRdpn5YBXlUpCBmr3edmCvVR57n 4d4gOIJsUrofMUDQlBiImJbbULvLyVM5zZzKVPY= X-Received: by 2002:aca:b841:: with SMTP id i62-v6mr12853906oif.358.1534067745770; Sun, 12 Aug 2018 02:55:45 -0700 (PDT) MIME-Version: 1.0 References: <36b1edf4bd9e203f8e14fa5b90a5a197fdf13898.1533989493.git.puwen@hygon.cn> In-Reply-To: <36b1edf4bd9e203f8e14fa5b90a5a197fdf13898.1533989493.git.puwen@hygon.cn> From: "Rafael J. Wysocki" Date: Sun, 12 Aug 2018 11:55:34 +0200 Message-ID: Subject: Re: [PATCH v3 15/17] driver/cpufreq: enable Hygon support to cpufreq driver To: puwen@hygon.cn Cc: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , "the arch/x86 maintainers" , thomas.lendacky@amd.com, Borislav Petkov , Paolo Bonzini , "Rafael J. Wysocki" , Viresh Kumar , Linux Kernel Mailing List , linux-arch , Linux PM Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Aug 11, 2018 at 3:36 PM Pu Wen wrote: > > Enable ACPI cpufreq driver support for Hygon by adding family ID check > along with AMD. > > As Hygon platforms have SMBus device(PCI device ID 0x790b), enable Hygon > support to function amd_freq_sensitivity_init(). > > Signed-off-by: Pu Wen Is there any technical difference between HYGON and AMD? You seem to be mechanically adding X86_VENDOR_HYGON wherever X86_VENDOR_AMD is used. > --- > drivers/cpufreq/acpi-cpufreq.c | 5 +++++ > drivers/cpufreq/amd_freq_sensitivity.c | 9 +++++++-- > 2 files changed, 12 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c > index b61f4ec..d62fd37 100644 > --- a/drivers/cpufreq/acpi-cpufreq.c > +++ b/drivers/cpufreq/acpi-cpufreq.c > @@ -61,6 +61,7 @@ enum { > > #define INTEL_MSR_RANGE (0xffff) > #define AMD_MSR_RANGE (0x7) > +#define HYGON_MSR_RANGE (0x7) > > #define MSR_K7_HWCR_CPB_DIS (1ULL << 25) > > @@ -95,6 +96,7 @@ static bool boost_state(unsigned int cpu) > rdmsr_on_cpu(cpu, MSR_IA32_MISC_ENABLE, &lo, &hi); > msr = lo | ((u64)hi << 32); > return !(msr & MSR_IA32_MISC_ENABLE_TURBO_DISABLE); > + case X86_VENDOR_HYGON: > case X86_VENDOR_AMD: > rdmsr_on_cpu(cpu, MSR_K7_HWCR, &lo, &hi); > msr = lo | ((u64)hi << 32); > @@ -113,6 +115,7 @@ static int boost_set_msr(bool enable) > msr_addr = MSR_IA32_MISC_ENABLE; > msr_mask = MSR_IA32_MISC_ENABLE_TURBO_DISABLE; > break; > + case X86_VENDOR_HYGON: > case X86_VENDOR_AMD: > msr_addr = MSR_K7_HWCR; > msr_mask = MSR_K7_HWCR_CPB_DIS; > @@ -225,6 +228,8 @@ static unsigned extract_msr(struct cpufreq_policy *policy, u32 msr) > > if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD) > msr &= AMD_MSR_RANGE; > + else if (boot_cpu_data.x86_vendor == X86_VENDOR_HYGON) > + msr &= HYGON_MSR_RANGE; > else > msr &= INTEL_MSR_RANGE; > > diff --git a/drivers/cpufreq/amd_freq_sensitivity.c b/drivers/cpufreq/amd_freq_sensitivity.c > index be926d9..4ac7c3c 100644 > --- a/drivers/cpufreq/amd_freq_sensitivity.c > +++ b/drivers/cpufreq/amd_freq_sensitivity.c > @@ -111,11 +111,16 @@ static int __init amd_freq_sensitivity_init(void) > { > u64 val; > struct pci_dev *pcidev; > + unsigned int pci_vendor; > > - if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD) > + if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD) > + pci_vendor = PCI_VENDOR_ID_AMD; > + else if (boot_cpu_data.x86_vendor == X86_VENDOR_HYGON) > + pci_vendor = PCI_VENDOR_ID_HYGON; > + else > return -ENODEV; > > - pcidev = pci_get_device(PCI_VENDOR_ID_AMD, > + pcidev = pci_get_device(pci_vendor, > PCI_DEVICE_ID_AMD_KERNCZ_SMBUS, NULL); > > if (!pcidev) { > -- > 2.7.4 >