Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp1032404ybm; Fri, 29 May 2020 19:19:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx/WmJBzovMMQ0K1CeHb+hvaeaIGU1nBEI47ecfHIpTepRqvxuwM8RukC/OEhEE2LYYtA7n X-Received: by 2002:a17:906:7c5a:: with SMTP id g26mr9734198ejp.200.1590805149673; Fri, 29 May 2020 19:19:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590805149; cv=none; d=google.com; s=arc-20160816; b=cBlMaIJauwUDN382Sw6OmT5ueQwfC3uRYjqtIzRn346JcNf2HvtToWsDPQh5btXxEb 5rPfGt9/CG/6BHW+xIo7Lgu2n7kwKDVi9Pr+8Pv2n3Olpf1pYVz8EYFdfokIK69sSM7n Ux25di2kG7K+cVohN4SB04SbsEIBKdgvaIuNbuEGAKbFztnab2sPti+xcPkIN+Db+woe D6ql7S5T7LDV0GD20nJxtUwjtC/l5J0mTjTqz/e3ovmhDsjDHbkGBQE815t1WRGYC1dY WkRAZNBCMpR6ljyU8x3yWtCArb2qy4ATHKW+dBMiI7vf7x99Vq2bWscvoBzDbgKvUHli PtGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=gdhM7JuSO4xLGW18q6BecsKz4axLTe0R8b/8YL5+VxM=; b=rGG2dESri4xDdF1tGWPCnimsf+uukfbBz7QYBEu6skXxjUDKG2zBY3vEE1NUGRGEmN FnfaxHy92UZkmNZlpy54kVdqwZClYqg1ptMqwAQW4mHSEsAI+BIFGjPZD8e26UZVv3IK FZPtKQ9TMxpo9on4KoUf0VoCJir/I113FLbZVoti5DhI1/EsPLgYFr761GiKnknMjzsu UIEpQwcXbmnCX0fW6qvYorLr5RWzwlnilnI1BGrPaLuoJ33xbi/4dr1ayI7UWeswYta3 iKTd7VIfNPpzdtm9BKVagx+aXv/2WQyySZmiMcuMP98cV5ql9AVZF1JJ19ixg/Gt8Hc7 t+Dg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s9si7109774edi.380.2020.05.29.19.18.46; Fri, 29 May 2020 19:19:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728688AbgE3CO6 (ORCPT + 99 others); Fri, 29 May 2020 22:14:58 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:56000 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728297AbgE3CO5 (ORCPT ); Fri, 29 May 2020 22:14:57 -0400 Received: from DGGEMS409-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id 16F3D5F4F6497EDE0176; Sat, 30 May 2020 10:14:55 +0800 (CST) Received: from linux-ibm.site (10.175.102.37) by DGGEMS409-HUB.china.huawei.com (10.3.19.209) with Microsoft SMTP Server id 14.3.487.0; Sat, 30 May 2020 10:14:44 +0800 From: Xiongfeng Wang To: , CC: , , , , , , , , Subject: [PATCH v5 0/2] add SW BOOST support for CPPC Date: Sat, 30 May 2020 10:08:29 +0800 Message-ID: <1590804511-9672-1-git-send-email-wangxiongfeng2@huawei.com> X-Mailer: git-send-email 1.7.12.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.175.102.37] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ACPI spec 6.2 section 8.4.7.1 provide the following two CPC registers. "Highest performance is the absolute maximum performance an individual processor may reach, assuming ideal conditions. This performance level may not be sustainable for long durations, and may only be achievable if other platform components are in a specific state; for example, it may require other processors be in an idle state. Nominal Performance is the maximum sustained performance level of the processor, assuming ideal operating conditions. In absence of an external constraint (power, thermal, etc.) this is the performance level the platform is expected to be able to maintain continuously. All processors are expected to be able to sustain their nominal performance state simultaneously." We can use Highest Performance as the max performance in boost mode and Nomial Performance as the max performance in non-boost mode. If the Highest Performance is greater than the Nominal Performance, we assume SW BOOST is supported. Changelog: v4 -> v5: add 'cpu_hotplug_lock' before calling '.set_boost' v3 -> v4: run 'boost_set_msr_each' for each CPU in the policy rather than each CPU in the system for 'acpi-cpufreq' add 'Suggested-by' Xiongfeng Wang (2): cpufreq: change '.set_boost' to act on only one policy CPPC: add support for SW BOOST drivers/cpufreq/acpi-cpufreq.c | 14 ++++++----- drivers/cpufreq/cppc_cpufreq.c | 39 +++++++++++++++++++++++++++-- drivers/cpufreq/cpufreq.c | 57 +++++++++++++++++++++++------------------- include/linux/cpufreq.h | 2 +- 4 files changed, 77 insertions(+), 35 deletions(-) -- 1.7.12.4