From patchwork Mon Aug 24 21:02:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ionela Voinescu X-Patchwork-Id: 11734373 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 ACBB4739 for ; Mon, 24 Aug 2020 21:05:32 +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 6D3FF2067C for ; Mon, 24 Aug 2020 21:05:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="fg7R0zY9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6D3FF2067C 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=/Ii/2DWJtJ+4RGDDsJqI9EmMbN0gLvvH7kLbmTykWzg=; b=fg7R0zY9srrA9jQaRRafjMbb2C QiHg/SS0M+d1m7DvCQtoOVvEfhcC0tEpauywIWeBE14oAYQHPNFshQfhkNrQTVAIBVIS3EFxNxwdV Yw/RMSJ+lCaSl0gWekuZWdawbbh8l7BSw9RJrqoS8vmXV+7ta6uOmqQGGkbPk8KNh5cc1fmCsmSxR xPd46lRCeQxVzjP9xtnVC05X2nZDA5sQTvS+4Xy3+hAi1whQP83IhREDngOKE2LjySzbvcx+07q/V iWyLH8/1kEP8iZfXLIq6BxMGufv9MS5TZvxlIo8y/kRMW1dYMEUWwSfy7ckvJxy2elH9+bHxW6uXX hFf2U6Qg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kAJdA-000092-Na; Mon, 24 Aug 2020 21:03:52 +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 1kAJd8-00008H-3j for linux-arm-kernel@lists.infradead.org; Mon, 24 Aug 2020 21:03:51 +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 3255D1FB; Mon, 24 Aug 2020 14:03:47 -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 B7A403F71F; Mon, 24 Aug 2020 14:03:45 -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 v3 0/5] cpufreq: improve frequency invariance support Date: Mon, 24 Aug 2020 22:02:47 +0100 Message-Id: <20200824210252.27486-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-20200824_170350_254285_E7A206AD X-CRM114-Status: GOOD ( 15.64 ) 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_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches 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, Sorry for the delay in sending v3. Please find below the changes to this series: 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/ Thank you, Ionela. 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 | 37 +++++++++++++++++++++++--- 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, 72 insertions(+), 50 deletions(-) base-commit: 4993e4fe12af2d71b6a3ad16e1fcdc566795fda1