From patchwork Tue Sep 1 20:55:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ionela Voinescu X-Patchwork-Id: 256874 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DC5FCC433E6 for ; Tue, 1 Sep 2020 20:56:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C34E4207D3 for ; Tue, 1 Sep 2020 20:56:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726167AbgIAU4w (ORCPT ); Tue, 1 Sep 2020 16:56:52 -0400 Received: from foss.arm.com ([217.140.110.172]:50354 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726091AbgIAU4s (ORCPT ); Tue, 1 Sep 2020 16:56:48 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E8C551063; Tue, 1 Sep 2020 13:56:45 -0700 (PDT) Received: from e108754-lin.cambridge.arm.com (e108754-lin.cambridge.arm.com [10.1.199.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 7DE163F66F; Tue, 1 Sep 2020 13:56:44 -0700 (PDT) From: Ionela Voinescu To: rjw@rjwysocki.net, viresh.kumar@linaro.org, dietmar.eggemann@arm.com, catalin.marinas@arm.com, sudeep.holla@arm.com, will@kernel.org, valentin.schneider@arm.com Cc: linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, ionela.voinescu@arm.com Subject: [PATCH v5 0/5] cpufreq: improve frequency invariance support Date: Tue, 1 Sep 2020 21:55:44 +0100 Message-Id: <20200901205549.30096-1-ionela.voinescu@arm.com> X-Mailer: git-send-email 2.17.1 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Hi, v4->v5 - I've applied Viresh's remaining suggestion and Acked-by/s - v4 can be found at [4] - v5 is based on linux-next 20200828 Thank you, Ionela. Reviewed-by: Sudeep Holla Acked-by: Sudeep Holla Reviewed-by: Sudeep Holla --- v3->v4: - addressing Viresh's comments on patches 1/5 and 3/5, and - with his Acked-by applied for the rest of the patches; - v3 can be found at [3], and - this is based on linux-next 20200827. v2->v3 - v2 can be found at [2] - 1/5 was introduced to check input frequencies to arch_set_freq_scale() as recommended by Rafael - The previous 2/7 was squashed into 1/7 - now 2/5, with additions to the changelog as suggested by Rafael. - The previous 3/7 (BL_SWITCHER handling) was dropped to be handled in a separate patch. This does not change the current functionality. - The previous 4/7 - now 3/5 is simplified as suggested by Viresh. - 3/5 - cpufreq_supports_freq_invariance() replaces cpufreq_sets_freq_scale(). The meaning chosen for cpufreq_supports_freq_invariance() is whether it can set the frequency scale factor, not whether arch_set_freq_scale() actually does. - 4/5 - Change after Catalin's Ack: The changes to arch_set_thermal_pressure() were dropped as they were done in a separate patch. Therefore this patch now has a subset of the previous changes at 5/7 - 5/5 - Change after Catalin's Ack: s/cpufreq_sets_freq_scale/cpufreq_supports_freq_invariance - v3 is based on linux-next 20200814 v1 -> v2: - v1 can be found at [1] - No cpufreq flags are introduced - Previous patches 2/8 and 3/8 were squashed in this series under 1/7, to ensure bisection. - 2/7 was introduced as a proposal for Viresh's suggestion to use policy->cur in the call to arch_set_freq_scale() and is extended to support drivers that implement the target() callback as well - Additional commit message changes are added to 1/7 and 2/7, to clarify that the definition of arch_set_freq_scale() will filter settings of the scale factor, if unwanted - 3/7 disables setting of the scale factor for CONFIG_BL_SWITCHER, as Dietmar suggested - Small change introduced in 4/7 to disable cpufreq-based frequency invariance for the users of the default arch_set_freq_scale() call which will not actually set a scale factor - build issue solved (reported by 0day test) - v2 is based on linux-next 20200716 - all functional tests in v1 were repeated for v2 [1] https://lore.kernel.org/lkml/20200701090751.7543-1-ionela.voinescu@arm.com/ [2] https://lore.kernel.org/lkml/20200722093732.14297-1-ionela.voinescu@arm.com/ [3] https://lore.kernel.org/lkml/20200824210252.27486-1-ionela.voinescu@arm.com/ [4] https://lore.kernel.org/lkml/20200828173303.11939-1-ionela.voinescu@arm.com/ Ionela Voinescu (3): arch_topology: validate input frequencies to arch_set_freq_scale() cpufreq: move invariance setter calls in cpufreq core cpufreq: report whether cpufreq supports Frequency Invariance (FI) Valentin Schneider (2): arch_topology, cpufreq: constify arch_* cpumasks arch_topology, arm, arm64: define arch_scale_freq_invariant() arch/arm/include/asm/topology.h | 1 + arch/arm64/include/asm/topology.h | 1 + arch/arm64/kernel/topology.c | 9 ++++++- drivers/base/arch_topology.c | 13 ++++++++-- drivers/cpufreq/cpufreq-dt.c | 10 +------- drivers/cpufreq/cpufreq.c | 33 +++++++++++++++++++++++--- drivers/cpufreq/qcom-cpufreq-hw.c | 9 +------ drivers/cpufreq/scmi-cpufreq.c | 12 ++-------- drivers/cpufreq/scpi-cpufreq.c | 6 +---- drivers/cpufreq/vexpress-spc-cpufreq.c | 12 ++-------- include/linux/arch_topology.h | 4 +++- include/linux/cpufreq.h | 8 ++++++- 12 files changed, 68 insertions(+), 50 deletions(-) base-commit: b36c969764ab12faebb74711c942fa3e6eaf1e96