Received: by 2002:a25:23cc:0:0:0:0:0 with SMTP id j195csp1482819ybj; Fri, 8 May 2020 02:19:21 -0700 (PDT) X-Google-Smtp-Source: APiQypJ6+CsQj0kCPCZ3VmkjD8wlht6qDRnMrudj4rWXMkFIjLKXnMJaky3NLMhk/5KY5rnuJJ8l X-Received: by 2002:a17:906:3da:: with SMTP id c26mr1093984eja.290.1588929560838; Fri, 08 May 2020 02:19:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588929560; cv=none; d=google.com; s=arc-20160816; b=RGTn6jnacY1ML0F+V1N8Iff5cqFiJ0oeRsttPurkxRPVFb9GJz5HAC6ZjBpA4tUhpJ I7hlst06qnUC4Rq06Djve50AeG7e+1lDMK4H2QwjRKW/9piRDI94haTOo5t71RxBn4Yu kimet6u7irMKHzfY8q/8yIBa8ut8i9Z0WoCaX8u4nuU6/RbCPrWgJFQr7zEvGHCHyht4 lf2Np6Nk8B1zKzRS/jUzchHiNsTutqyadc1cs57DuxgDtyoZoFSTZEsEX/HA0pOuQ0Y4 lbr1JQPHhHjTuCtvKqPXdamDiBchvsrB0SP/plS2cN1i5oJbQjROYCienkxAFbPnVLw+ N41Q== 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=YqTUygyNMe+LZZ9IfDcDD/sp8zU2ukey6Ma0fekLNjs=; b=Y525hWymY10KIyXoX1Cf53au0vu3yKeKv0l3efzegPfKEMtIEq4OfeXobMvK5EwFPG FN/UhWB1aYEnhp63hcaBP8m3VMt3XixtUTpndvTgpmc0UKkbZAOO+SXL8kkuTp0QwEi8 DQcR8B3lG5MAzi+nqBbPwGqR3KsYuyzdw66ttzOYpmmnljyFXcng6UDX7HKffQjCEeBF 6CCZyEpZXhhgyh48fuxpVCc1ck59+lN9KrLdtkE39yZjXNKIdUDZnXl8lCr5Kyn1UF2S E1OEcM1scqtDXyj0ltdhzkvMmmYrD0q5wwVu4YjAZCMK3Byd7zNWzMOJIqnP7fLPRWOP 01aQ== 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 cz5si607676edb.127.2020.05.08.02.18.58; Fri, 08 May 2020 02:19:20 -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 S1726926AbgEHJRb (ORCPT + 99 others); Fri, 8 May 2020 05:17:31 -0400 Received: from szxga05-in.huawei.com ([45.249.212.191]:4299 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725774AbgEHJR3 (ORCPT ); Fri, 8 May 2020 05:17:29 -0400 Received: from DGGEMS411-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id AC3ACFE3BEB4DBA9C525; Fri, 8 May 2020 17:17:26 +0800 (CST) Received: from linux-ibm.site (10.175.102.37) by DGGEMS411-HUB.china.huawei.com (10.3.19.211) with Microsoft SMTP Server id 14.3.487.0; Fri, 8 May 2020 17:17:17 +0800 From: Xiongfeng Wang To: , , , CC: , , , , , , Subject: [RFC PATCH 0/3] add SW BOOST support for CPPC Date: Fri, 8 May 2020 17:11:01 +0800 Message-ID: <1588929064-30270-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: fix the return value in 'cpufreq_boost_set_sw()' cpufreq: Add SW BOOST support for drivers without frequency table CPPC: add support for SW BOOST drivers/cpufreq/cppc_cpufreq.c | 17 +++++++++++++++-- drivers/cpufreq/cpufreq.c | 25 +++++++++++++++++-------- include/linux/cpufreq.h | 2 ++ 3 files changed, 34 insertions(+), 10 deletions(-) -- 1.7.12.4