Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp1466490pxb; Sat, 16 Oct 2021 10:37:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxhfjxq2cezKtiDnB2/iYLTWqNJSRtrtwwCNVf5J9hQYZUusgz6uVbibioSqiSwn6CWDSgA X-Received: by 2002:a17:90a:345:: with SMTP id 5mr35174389pjf.189.1634405833003; Sat, 16 Oct 2021 10:37:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634405832; cv=none; d=google.com; s=arc-20160816; b=WJuxgP0iVgPe9KqKa3GpIVWD6cr4d/be+B0CDb7kT3SZfJCgRxs2YujmXPT6IcoCKj EyRceFSCPFURWGkIB5wlr15khucsv0AlANL2KVxht4k0CBQTGai9lrW36X6q4PdmV77v iQUzJI6AE1daceGAGIFZV+z+snJPQoVf94yuWaTQGn8gfHLJPG7vO9AOhSBJNSwmxmdw TQVjs3CJ99BC4k6BIgpA5nJr4UYcL1Z4a/GRpEGQUWeme141rB3cTe3BLNzX0mK+8kPR R93W2bL7gxDzu4ExXiFFrBZk40NvZjEtpQ2vT8PMjW4LeayoWlO2/setw/3xpJI8jTMM wNng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=sLb9A7q4ssgyBB+Q3uz00TaIBSN47ObFt82guPVPddo=; b=mQ222U0m+Q2Yl8zSzWFgwe1ueLPXMILE887bgyWYCOZptgo3F849DQkxI3EVQBdig5 Ve0yJIknCbeQh1emm9+y0/wpnQUdDMeLqNkIhh1iDn+lKrZNgpID4TId0pL3FHQ1tniC Lm8iJuhwqscFmJ+lTIc5tsnUxes6hLUc1iF1m0trheKvgOrbXWBwOzWKLSf/M1+Q+DqJ gj8Z6gWLAx9eCBxggDXNaailSoKz6ApmC3CR37DGttrsfmsTDmcwKJzifuqgO2xfoWId qpfnjMmfdFOf3XIDuciWtZ3tzsn94eih/pgLiMB2OuIsSvioAszIklxuhJvQWs4f8v2m W0Rg== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p17si10515847plp.147.2021.10.16.10.36.58; Sat, 16 Oct 2021 10:37:12 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240742AbhJOOsJ (ORCPT + 99 others); Fri, 15 Oct 2021 10:48:09 -0400 Received: from foss.arm.com ([217.140.110.172]:44030 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240697AbhJOOsH (ORCPT ); Fri, 15 Oct 2021 10:48:07 -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 4818014BF; Fri, 15 Oct 2021 07:46:01 -0700 (PDT) Received: from e123648.arm.com (unknown [10.57.23.184]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4803D3F66F; Fri, 15 Oct 2021 07:45:58 -0700 (PDT) From: Lukasz Luba To: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, lukasz.luba@arm.com, sudeep.holla@arm.com, will@kernel.org, catalin.marinas@arm.com, linux@armlinux.org.uk, gregkh@linuxfoundation.org, rafael@kernel.org, viresh.kumar@linaro.org, amitk@kernel.org, daniel.lezcano@linaro.org, amit.kachhap@gmail.com, thara.gopinath@linaro.org, bjorn.andersson@linaro.org, agross@kernel.org Subject: [PATCH v2 0/5] Refactor thermal pressure update to avoid code duplication Date: Fri, 15 Oct 2021 15:45:45 +0100 Message-Id: <20211015144550.23719-1-lukasz.luba@arm.com> X-Mailer: git-send-email 2.17.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, This patch set v2 aims to refactor the thermal pressure update code. There are already two clients which do similar thing: convert the capped frequency value into the capacity of affected CPU and call the 'set' function to store the reduced capacity into the per-cpu variable. There might be more than two of these users. In near future it will be scmi-cpufreq driver, which receives notification from FW about reduced frequency due to thermal. Other vendors might follow. Let's avoid code duplication and potential conversion bugs. Move the conversion code into the arch_topology.c where the capacity calculation setup code and thermal pressure sit. Apart from that $subject patches, there is one patch (3/5) which fixes issue in qcom-cpufreq-hw.c when the thermal pressure is not updated for offline CPUs. It's similar fix that has been merged recently for cpufreq_cooling.c: 2ad8ccc17d1e4270cf65a3f2 Changes: v2: - added Reviewed-by from Thara for patch 3/5 - changed the doxygen comment and used mult_frac() according to Thara's suggestion in patch 1/5 v1 -> [1] Regards, Lukasz Luba [1] https://lore.kernel.org/linux-pm/20211007080729.8262-1-lukasz.luba@arm.com/ Lukasz Luba (5): arch_topology: Introduce thermal pressure update function thermal: cpufreq_cooling: Use new thermal pressure update function cpufreq: qcom-cpufreq-hw: Update offline CPUs per-cpu thermal pressure cpufreq: qcom-cpufreq-hw: Use new thermal pressure update function arch_topology: Remove unused topology_set_thermal_pressure() and related arch/arm/include/asm/topology.h | 2 +- arch/arm64/include/asm/topology.h | 2 +- drivers/base/arch_topology.c | 35 +++++++++++++++++++++++++++---- drivers/cpufreq/qcom-cpufreq-hw.c | 14 +++++-------- drivers/thermal/cpufreq_cooling.c | 6 +----- include/linux/arch_topology.h | 4 ++-- include/linux/sched/topology.h | 6 +++--- init/Kconfig | 2 +- 8 files changed, 45 insertions(+), 26 deletions(-) -- 2.17.1