Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp1948959ybk; Thu, 21 May 2020 20:44:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzfzfrthEeI2Lk+9eYnvGLPMjhlCi2FqlAx0I8UpvOn4rfju6iWOXHhs8flI4vd8bURsK6z X-Received: by 2002:a17:906:2e4c:: with SMTP id r12mr6631940eji.546.1590119046395; Thu, 21 May 2020 20:44:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590119046; cv=none; d=google.com; s=arc-20160816; b=qTIBZUQy5Xo3CoXYIYoQFmce8CBzO+Z4S55AL1Z4SzBBzxBuG9Y11OBZ5soAkOlDTO VDuEm95Sug7ELPR3O6MzItCLoE+z2ednIMRMOdVClxVs15gUpIIK4ubhJTfTRneT4Wfg QymUYW/x1MYdxxAzxnbcacKWybN74KnehaDAWi03ECIyG43+1toTG42KN6FjKO+tB7B5 4FjRugmli4lev/Gk9OhmpqxRK0vBdOT7FCkfjzJinVQxrziC1h9+EfcGwt87sXPM195+ hNLRhl+rybZR7BUusLj7Br8xGmoFPG3ikzSaezEZDST2zQgxLI2cTjManmQ+u4BXVQTv mm4Q== 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=EN6Ud8TTk2uHSpQSDuIgDRCGQEcvJA9EwvL4fRqEksE=; b=Nln+gruoPiz6AP8+eDdrK+NmzQSJZq3Rx/Fo70hyE5BCSBNKmFAZV9invw01N1LwsI ADviaWe6GYgqFgEXZX+Uz5BBHQaXIbMwZbwsbUYbOHl84Ceth4dcLtGDhGFFQOX372AQ sdHGuPN8pDFtZedmK9uK8/SCJSyV9bv9/3cNQZdpRnobkgCWGpkqwyE0aPwRUC3UGDzU ph41r1bOWMh22qbM567LyZSAHVW+KoD8jxYtmEVfxoFsHlDbWEaH56gYZ9A3oMNvucol yA9os1sRNgIXxOHdWUT2I4+U6mVu5lyABPKt+Qga+jB913eSLvirgYjy7XA4pSyuLy3D xbZA== 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 a25si4165498ejk.462.2020.05.21.20.43.43; Thu, 21 May 2020 20:44:06 -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 S1728007AbgEVDlB (ORCPT + 99 others); Thu, 21 May 2020 23:41:01 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:4889 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727080AbgEVDlA (ORCPT ); Thu, 21 May 2020 23:41:00 -0400 Received: from DGGEMS407-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id 858741D5D9A6821937A9; Fri, 22 May 2020 11:40:58 +0800 (CST) Received: from linux-ibm.site (10.175.102.37) by DGGEMS407-HUB.china.huawei.com (10.3.19.207) with Microsoft SMTP Server id 14.3.487.0; Fri, 22 May 2020 11:40:48 +0800 From: Xiongfeng Wang To: , CC: , , , , , , , , Subject: [PATCH v4 0/2] add SW BOOST support for CPPC Date: Fri, 22 May 2020 11:34:34 +0800 Message-ID: <1590118476-28742-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. 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 | 10 ++++---- drivers/cpufreq/cppc_cpufreq.c | 39 +++++++++++++++++++++++++++++-- drivers/cpufreq/cpufreq.c | 53 +++++++++++++++++++++--------------------- include/linux/cpufreq.h | 2 +- 4 files changed, 71 insertions(+), 33 deletions(-) -- 1.7.12.4