Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp2503856ybk; Mon, 18 May 2020 00:18:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwHHigQG/+LkZq8ZZGL5LMSiDnL2wABmbkbHkTNc8z4IzMvetMc8aVNRJjzrlbkL61Cbfdv X-Received: by 2002:a17:906:34c4:: with SMTP id h4mr14145767ejb.167.1589786309561; Mon, 18 May 2020 00:18:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589786309; cv=none; d=google.com; s=arc-20160816; b=GLmBzdQH7QTJJuSHdVGl2h74BpL/dsv3ec1Q44IHhQ5Z1HbwBSlk/4wNOm9LoAgVo5 VCoZI2HfZOiNfoa+hh+NoJfFYT0sDvJMp9qeAuFqyjvp697xgS7aQTZJriYrVZJA/qqp vrqdU7P4Lrp5N6kGHIfERmzWoqSEVlvawr1xOu6GyYNuUuRK8PTKow3ElY8qPVCTHzG3 iBmmgCDHV2t4VJ0xeF79n1WIL0KS1/3on14LHwzxc/UIm0t7PZusMX2F3ENLwAnTmPOY 7zJmpywUUCpKU+lQyxCg3CIPZN+x3Y2JaAHeymXN6Si04LYY1e2epcjUaRcsuelCNR2p BOdA== 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=LlP8O+R3bG/5uQbYfrdkvUcXfwy3nhNPsO73acmda6s=; b=WMPfbF6+snIJwJf+guK/obujtxsKtUgMrNCwCqGIe1MVZ9edRcXme7amPTWiZdkvUZ tZqSbAgTh6uMuwc/lI1VExsYCmFfKfO/4M5B65RATUG48n3zaeA4pI6ex/voT2A0tIgt hzHVT1cT/Ij7j5/njoT/m957F0aEbHrtdbojSCa4hWCWfcCx/K/vku+mszyJ3uTAfQ5O gmDqLPh6w0gmF3LFZ7anbKY7SQmX842jWWXrNIkX1t/WHFAoFK8XgFPNxsF1spxZ+WXt hGpWB2ksQXe5b8g+mPZs4UqpHNuKqxdNmZAuCnVOL6WUlJyq4+nj7DgSU11gEB1LFrIb 43fQ== 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 l16si6012158ejg.33.2020.05.18.00.18.05; Mon, 18 May 2020 00:18:29 -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 S1726895AbgERHQq (ORCPT + 99 others); Mon, 18 May 2020 03:16:46 -0400 Received: from szxga05-in.huawei.com ([45.249.212.191]:4810 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726729AbgERHQq (ORCPT ); Mon, 18 May 2020 03:16:46 -0400 Received: from DGGEMS413-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id DF2C3410768E010C9926; Mon, 18 May 2020 15:16:43 +0800 (CST) Received: from linux-ibm.site (10.175.102.37) by DGGEMS413-HUB.china.huawei.com (10.3.19.213) with Microsoft SMTP Server id 14.3.487.0; Mon, 18 May 2020 15:16:33 +0800 From: Xiongfeng Wang To: , , , CC: , , , , , , Subject: [RFC PATCH v2 0/3] add SW BOOST support for CPPC Date: Mon, 18 May 2020 15:10:05 +0800 Message-ID: <1589785808-12138-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. Xiongfeng Wang (3): cpufreq: handle the return value of '.set_boost()' properly cpufreq: export 'cpufreq_policy_list' and make macro 'for_each_*_policy' public CPPC: add support for SW BOOST drivers/cpufreq/cppc_cpufreq.c | 42 ++++++++++++++++++++++++++++++++++++++++-- drivers/cpufreq/cpufreq.c | 21 ++++++--------------- include/linux/cpufreq.h | 14 ++++++++++++++ 3 files changed, 60 insertions(+), 17 deletions(-) -- 1.7.12.4