From patchwork Fri Aug 28 17:32:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ionela Voinescu X-Patchwork-Id: 11743481 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 60EFC739 for ; Fri, 28 Aug 2020 17:34:15 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3331020E65 for ; Fri, 28 Aug 2020 17:34:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="kfoxbmGZ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3331020E65 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Owner; bh=IHBf2/MorPgV8GvI77HRzvsSP4O4fgiuDwJSgGzhQ60=; b=kfoxbmGZBPar0iKTXn7vveiNvC BoEx++1nOzHJip6IRR+RsO29vTC+EzIjlmBR+yz1mLsjpV+83hG48pUs3NUoKRdC9ln6agpZFoF8S RTqctqzQSFQQeC28VsIZfyDP7XQcDnePtKO7gBYvOoWLMl8pWUi/RIDUtywZVRrmVIzCHnjk7nyLF gAgZQ9Ji6vKL5+mKsApa4AN48yrD0SvlFacwb2b0UR3yqmLgjNen7WtY87cEDC7etBne0cN0gBeC3 4nrZ23pYvbvh8mhnSmCJwJbIdW7O28uFvIafO6or4WIwlldcgC1RFTxrVdN0dh0J9HR3ltWhfGxt2 lRwOEX8w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kBiGE-0007nn-BP; Fri, 28 Aug 2020 17:33:58 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kBiGB-0007ms-0R for linux-arm-kernel@lists.infradead.org; Fri, 28 Aug 2020 17:33:56 +0000 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 36F851FB; Fri, 28 Aug 2020 10:33:49 -0700 (PDT) Received: from e108754-lin.cambridge.arm.com (unknown [10.1.199.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id C11833F71F; Fri, 28 Aug 2020 10:33:47 -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 Subject: [PATCH v4 0/5] cpufreq: improve frequency invariance support Date: Fri, 28 Aug 2020 18:32:58 +0100 Message-Id: <20200828173303.11939-1-ionela.voinescu@arm.com> X-Mailer: git-send-email 2.17.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200828_133355_219674_CF9A37E1 X-CRM114-Status: GOOD ( 15.25 ) X-Spam-Score: -2.3 (--) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-2.3 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [217.140.110.172 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ionela.voinescu@arm.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Hi guys, Please find here 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. Many thanks for the review, Ionela. --- 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/ 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 | 15 ++++++++++-- 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, 70 insertions(+), 50 deletions(-) base-commit: 88abac0b753dfdd85362a26d2da8277cb1e0842b