From patchwork Fri Nov 17 09:42:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: AngeloGioacchino Del Regno X-Patchwork-Id: 13458626 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0F32FC54FB9 for ; Fri, 17 Nov 2023 09:42:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=A9+TOQ/8lonEJYWyNoX76ilTpJVkSnoGXiwxGyXwxG0=; b=z3jPy0Wm1sr3mnGd7pAg0IXd6K fpyI8Bk9PCnv5DKSnlZ9RVLYo3IaOM1qo7euep1B+kw8zORI2K+RvsZddLtYMy5gX/26MuSOGTZcB XpjsNuTMiE5YXWe4htnyz0/4dcvDztxzgDS4N4KmVBTuWHHmhYkMAK5sCKk2xSSnL3ExGz4sa7k25 UMNb/Az0zx8c6KvWq7LxALi+Qsx5+IiRdm6MNlKkgqwbynWXzFRk2uWuavs7o7ImXqTXWUcaLrt+t L8dskb4VPnJkY+TQtk4EwN6E1+LJRjs5X5clMVZtq5ED6hwkMJaDhNxft56UdC3vWom/hM4toOpHn EDkb1e4g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r3vN3-0066sY-2w; Fri, 17 Nov 2023 09:42:41 +0000 Received: from madras.collabora.co.uk ([46.235.227.172]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r3vMz-0066q5-1j; Fri, 17 Nov 2023 09:42:39 +0000 Received: from IcarusMOD.eternityproject.eu (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: kholk11) by madras.collabora.co.uk (Postfix) with ESMTPSA id D9357660738E; Fri, 17 Nov 2023 09:42:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1700214154; bh=6PoJBFFb6VIF6RiFhLI21rpjXBo5OuU/hCloojZ5gz0=; h=From:To:Cc:Subject:Date:From; b=MrafSUjgszZ3owcwmneO4fR4QrQAMbtLGKScMVf6E/cVqIw2cLCmFAwFBb7ef6Gb0 4G/Toa5Hr98z122LPjJLOfxUw6hD3LSSJH0T0OCh/qRWvh1CwshWf/m10ZJEe339BM zDW9zcVhE3DS4q+XgjXUCoVvR5u20eQwascDuf9nZIDDuUCneozixGrw88dS7mKMeA ifkxpg55/rraM1DLvEqpPD4SjpnSXf7JQfMpS9cPjYdlt6dNUZ8MmSzcww1+zQnPbA SQuDhyufnhutpQNsO/kKGlRMkhIOJWZ3reRHbZlZn09y03EgW8zCNTk+NUEntYcCMC R9IIWWR9X+Z/A== From: AngeloGioacchino Del Regno To: matthias.bgg@gmail.com Cc: krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, robh+dt@kernel.org, angelogioacchino.delregno@collabora.com, p.zabel@pengutronix.de, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, kernel@collabora.com, wenst@chromium.org Subject: [PATCH v1 00/20] MediaTek SVS driver partial refactoring Date: Fri, 17 Nov 2023 10:42:08 +0100 Message-ID: <20231117094228.40013-1-angelogioacchino.delregno@collabora.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231117_014237_753657_5011142D X-CRM114-Status: GOOD ( 10.79 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org This is a partial refactoring of the MediaTek Smart Voltage Scaling driver. Long story short: this driver never worked as expected on any platform because of various issues so in this series there are some changes that will break compatibility with older device trees (of which, only MT8183 ever had the SVS node), but those are acceptable because... it never really worked fine anyway, so there's no regression. This series was tested on MT8186, MT8192, MT8195 Chromebooks. Depends on MT8192 thermal node: https://lore.kernel.org/lkml/20231017190545.157282-5-bero@baylibre.com/ MT8186 and MT8195 SVS support: https://lore.kernel.org/all/20231011034307.24641-1-chun-jen.tseng@mediatek.com/ Note: one commit was omitted because I haven't got feedback yet on the thermal-zones devicetree consumers implementation at [1], but I still wanted to send this series to the lists to get feedback. Please keep in mind that the one omitted commit is supposed to go on top of this series anyway, and that an useful example of how the SVS node will look with the DT thermal zones is provided at [1]. [1]: https://lore.kernel.org/all/20231115144857.424005-1-angelogioacchino.delregno@collabora.com/ AngeloGioacchino Del Regno (20): arm64: dts: mediatek: mt8183: Change iospaces for thermal and svs soc: mediatek: mtk-svs: Subtract offset from regs_v2 to avoid conflict soc: mediatek: mtk-svs: Convert sw_id and type to enumerations soc: mediatek: mtk-svs: Build bank name string dynamically soc: mediatek: mtk-svs: Reduce memory footprint of struct svs_bank soc: mediatek: mtk-svs: Change the thermal sensor device name soc: mediatek: mtk-svs: Add a map to retrieve fused values soc: mediatek: mtk-svs: Add SVS-Thermal coefficient to SoC platform data soc: mediatek: mtk-svs: Move t-calibration-data retrieval to svs_probe() soc: mediatek: mtk-svs: Commonize efuse parse function for most SoCs soc: mediatek: mtk-svs: Drop supplementary svs per-bank pointer soc: mediatek: mtk-svs: Commonize MT8192 probe function for MT8186 soc: mediatek: mtk-svs: Remove redundant print in svs_get_efuse_data soc: mediatek: mtk-svs: Compress of_device_id entries soc: mediatek: mtk-svs: Cleanup of svs_probe() function soc: mediatek: mtk-svs: Check if SVS mode is available in the beginning soc: mediatek: mtk-svs: Use ULONG_MAX to compare floor frequency soc: mediatek: mtk-svs: Constify runtime-immutable members of svs_bank arm64: dts: mediatek: mt8192: Add Smart Voltage Scaling node arm64: dts: mediatek: mt8195: Add SVS node and reduce LVTS_AP iospace arch/arm64/boot/dts/mediatek/mt8183.dtsi | 26 +- arch/arm64/boot/dts/mediatek/mt8192.dtsi | 12 + arch/arm64/boot/dts/mediatek/mt8195.dtsi | 17 +- drivers/soc/mediatek/mtk-svs.c | 1995 +++++++++++----------- 4 files changed, 994 insertions(+), 1056 deletions(-)