From patchwork Thu Jan 26 10:35:22 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: 648288 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B70CC54EAA for ; Thu, 26 Jan 2023 10:35:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236609AbjAZKfi (ORCPT ); Thu, 26 Jan 2023 05:35:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58012 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236527AbjAZKfh (ORCPT ); Thu, 26 Jan 2023 05:35:37 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5557A518E4; Thu, 26 Jan 2023 02:35:36 -0800 (PST) Received: from IcarusMOD.eternityproject.eu (2-237-20-237.ip236.fastwebnet.it [2.237.20.237]) (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 8CBD56602E6A; Thu, 26 Jan 2023 10:35:34 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1674729335; bh=wKr87X3ee2/ldebp0uI7OsQ8x9sd9DyzBVImLZaNJnk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YBZ523GyKgfEXh0o9iDuKK9lS0MLU9urZBpc71Zuto/nmWwqp0dyCWJU6nDBgXQMT +sT8N6fqDiDimxFEcv+AaoRCAlOMh8iDTaWvn3qsW8XJfnzE3fkM7sRyGAmVDKrrJy coJKYSYxHDE7F4fRySuN5bJcVaWsrRvEDSMWCtdMCtN21XoNKrXMuVCUUB9bBBqMST yafhWH8N5C0CCbQb0l3NPNyQPkG2oGzKunpy0ah1tVCrvbGIDtBpBKS9+TL+jS6oLI XlechJ3tF6n4nF9K5I2qz43y+9IHAE2VBJzc3S8lnL1bApCWEI8KzFCk0Q7IuwPIV+ PgFGPNeJ4v2CQ== From: AngeloGioacchino Del Regno To: matthias.bgg@gmail.com Cc: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, seiya.wang@mediatek.com, tinghan.shen@mediatek.com, allen-kh.cheng@mediatek.com, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, AngeloGioacchino Del Regno Subject: [PATCH 2/6] arm64: dts: mt8192: Fix CPU map for single-cluster SoC Date: Thu, 26 Jan 2023 11:35:22 +0100 Message-Id: <20230126103526.417039-3-angelogioacchino.delregno@collabora.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230126103526.417039-1-angelogioacchino.delregno@collabora.com> References: <20230126103526.417039-1-angelogioacchino.delregno@collabora.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org MT8192 features the ARM DynamIQ technology and combines both four Cortex-A76 (big) and four Cortex-A55 (LITTLE) CPUs in one cluster: fix the CPU map to reflect that. Signed-off-by: AngeloGioacchino Del Regno Fixes: 48489980e27e ("arm64: dts: Add Mediatek SoC MT8192 and evaluation board dts and Makefile") --- arch/arm64/boot/dts/mediatek/mt8192.dtsi | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/arch/arm64/boot/dts/mediatek/mt8192.dtsi b/arch/arm64/boot/dts/mediatek/mt8192.dtsi index ef4fcefa2bfc..eb46cbadd310 100644 --- a/arch/arm64/boot/dts/mediatek/mt8192.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8192.dtsi @@ -206,19 +206,16 @@ core2 { core3 { cpu = <&cpu3>; }; - }; - - cluster1 { - core0 { + core4 { cpu = <&cpu4>; }; - core1 { + core5 { cpu = <&cpu5>; }; - core2 { + core6 { cpu = <&cpu6>; }; - core3 { + core7 { cpu = <&cpu7>; }; }; From patchwork Thu Jan 26 10:35:24 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: 648287 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 99D64C54EAA for ; Thu, 26 Jan 2023 10:35:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236705AbjAZKfo (ORCPT ); Thu, 26 Jan 2023 05:35:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58078 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236701AbjAZKfk (ORCPT ); Thu, 26 Jan 2023 05:35:40 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9BA86AF41; Thu, 26 Jan 2023 02:35:37 -0800 (PST) Received: from IcarusMOD.eternityproject.eu (2-237-20-237.ip236.fastwebnet.it [2.237.20.237]) (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 16AC16602E6C; Thu, 26 Jan 2023 10:35:36 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1674729336; bh=ewzG3bsZfarFS++4YljfNfR9eURvUZDK2OObKxm5aBA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YPUDNL9YCFo2GUu68Jkg79rx/u7sl2UPyeQWRtrcEgcgZFSum3AkkEc/cGPxA9KTt qLtFVCxSJnY6Z92KogNBIQ8sPavcXV1H21Mp+7c5QPDNiuj5mOtx+2UICa1cN0sAZG bJ5V7vUFSdvAeLvcLFI82gZEY/rE3cBicVUD9RzB1q+hFNDWDeVitgkrQp8T/d3y8R DlcKFDTA5KldK776lW1G+hbL5+jT8G8RSvnTv8qd8PoQQ3YqEWbfxiN5lhmHm9xOQc 2nRGRwrRZnoeh0fH/Hn5bJ2faVtvSIfL1zCGbgjqFGyncibQ0+OO/FRuXBUgXlBM+e MBFeOYP7FtJ1A== From: AngeloGioacchino Del Regno To: matthias.bgg@gmail.com Cc: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, seiya.wang@mediatek.com, tinghan.shen@mediatek.com, allen-kh.cheng@mediatek.com, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, AngeloGioacchino Del Regno Subject: [PATCH 4/6] arm64: dts: mt8195: Change idle states names to reflect actual function Date: Thu, 26 Jan 2023 11:35:24 +0100 Message-Id: <20230126103526.417039-5-angelogioacchino.delregno@collabora.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230126103526.417039-1-angelogioacchino.delregno@collabora.com> References: <20230126103526.417039-1-angelogioacchino.delregno@collabora.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org The names of the idle states are misleading being this a single cluster SoC, a cluster-off idle state is impossible! After some research in ATF, it emerged that the cpu-off state is in reality putting CPUs in retention state, while the cluster-off one is turning off the CPUs. Summarizing renaming: - cpu-off -> cpu-retention - cluster-off -> cpu-off Signed-off-by: AngeloGioacchino Del Regno --- arch/arm64/boot/dts/mediatek/mt8195.dtsi | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/arch/arm64/boot/dts/mediatek/mt8195.dtsi b/arch/arm64/boot/dts/mediatek/mt8195.dtsi index f04f836d9a72..60ccf02b60bd 100644 --- a/arch/arm64/boot/dts/mediatek/mt8195.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8195.dtsi @@ -38,7 +38,7 @@ cpu0: cpu@0 { performance-domains = <&performance 0>; clock-frequency = <1701000000>; capacity-dmips-mhz = <308>; - cpu-idle-states = <&cpu_off_l &cluster_off_l>; + cpu-idle-states = <&cpu_ret_l &cpu_off_l>; i-cache-size = <32768>; i-cache-line-size = <64>; i-cache-sets = <128>; @@ -57,7 +57,7 @@ cpu1: cpu@100 { performance-domains = <&performance 0>; clock-frequency = <1701000000>; capacity-dmips-mhz = <308>; - cpu-idle-states = <&cpu_off_l &cluster_off_l>; + cpu-idle-states = <&cpu_ret_l &cpu_off_l>; i-cache-size = <32768>; i-cache-line-size = <64>; i-cache-sets = <128>; @@ -76,7 +76,7 @@ cpu2: cpu@200 { performance-domains = <&performance 0>; clock-frequency = <1701000000>; capacity-dmips-mhz = <308>; - cpu-idle-states = <&cpu_off_l &cluster_off_l>; + cpu-idle-states = <&cpu_ret_l &cpu_off_l>; i-cache-size = <32768>; i-cache-line-size = <64>; i-cache-sets = <128>; @@ -95,7 +95,7 @@ cpu3: cpu@300 { performance-domains = <&performance 0>; clock-frequency = <1701000000>; capacity-dmips-mhz = <308>; - cpu-idle-states = <&cpu_off_l &cluster_off_l>; + cpu-idle-states = <&cpu_ret_l &cpu_off_l>; i-cache-size = <32768>; i-cache-line-size = <64>; i-cache-sets = <128>; @@ -114,7 +114,7 @@ cpu4: cpu@400 { performance-domains = <&performance 1>; clock-frequency = <2171000000>; capacity-dmips-mhz = <1024>; - cpu-idle-states = <&cpu_off_b &cluster_off_b>; + cpu-idle-states = <&cpu_ret_b &cpu_off_b>; i-cache-size = <65536>; i-cache-line-size = <64>; i-cache-sets = <256>; @@ -133,7 +133,7 @@ cpu5: cpu@500 { performance-domains = <&performance 1>; clock-frequency = <2171000000>; capacity-dmips-mhz = <1024>; - cpu-idle-states = <&cpu_off_b &cluster_off_b>; + cpu-idle-states = <&cpu_ret_b &cpu_off_b>; i-cache-size = <65536>; i-cache-line-size = <64>; i-cache-sets = <256>; @@ -152,7 +152,7 @@ cpu6: cpu@600 { performance-domains = <&performance 1>; clock-frequency = <2171000000>; capacity-dmips-mhz = <1024>; - cpu-idle-states = <&cpu_off_b &cluster_off_b>; + cpu-idle-states = <&cpu_ret_b &cpu_off_b>; i-cache-size = <65536>; i-cache-line-size = <64>; i-cache-sets = <256>; @@ -171,7 +171,7 @@ cpu7: cpu@700 { performance-domains = <&performance 1>; clock-frequency = <2171000000>; capacity-dmips-mhz = <1024>; - cpu-idle-states = <&cpu_off_b &cluster_off_b>; + cpu-idle-states = <&cpu_ret_b &cpu_off_b>; i-cache-size = <65536>; i-cache-line-size = <64>; i-cache-sets = <256>; @@ -221,7 +221,7 @@ core7 { idle-states { entry-method = "psci"; - cpu_off_l: cpu-off-l { + cpu_ret_l: cpu-retention-l { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x00010001>; local-timer-stop; @@ -230,7 +230,7 @@ cpu_off_l: cpu-off-l { min-residency-us = <580>; }; - cpu_off_b: cpu-off-b { + cpu_ret_b: cpu-retention-b { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x00010001>; local-timer-stop; @@ -239,7 +239,7 @@ cpu_off_b: cpu-off-b { min-residency-us = <740>; }; - cluster_off_l: cluster-off-l { + cpu_off_l: cpu-off-l { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x01010002>; local-timer-stop; @@ -248,7 +248,7 @@ cluster_off_l: cluster-off-l { min-residency-us = <840>; }; - cluster_off_b: cluster-off-b { + cpu_off_b: cpu-off-b { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x01010002>; local-timer-stop; From patchwork Thu Jan 26 10:35:26 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: 648286 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 73DA8C54E94 for ; Thu, 26 Jan 2023 10:35:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236836AbjAZKfu (ORCPT ); Thu, 26 Jan 2023 05:35:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58368 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236806AbjAZKfo (ORCPT ); Thu, 26 Jan 2023 05:35:44 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8BCAF6C578; Thu, 26 Jan 2023 02:35:39 -0800 (PST) Received: from IcarusMOD.eternityproject.eu (2-237-20-237.ip236.fastwebnet.it [2.237.20.237]) (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 871386602E70; Thu, 26 Jan 2023 10:35:37 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1674729338; bh=811mGtt7JeQpT1SuTm7rNcFj7Fd9S3mKqBcc7+C7qO8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dLEWxzAERpYLA71egOjO1LATE/G5//9XwW2RYijXWjLBe5kqhJ3/LtFQpMax9utRN qz8/Hv4oCO8+KLAbBReSaZ/B+VmF7Gz9YWHK+/KCNmEv+uTJ9Ks9Yf1HTZ1lQBLICO 8BK5wVqph8zbM4odGWGIpXiZw0pfEJTVFK+9b/A3RumiYMFPLegMuYjc74AwKSEujX 9NIN9hOr1GMELINFzyKxZOSdVxTl06G10xlvFF8SQxoimP/1pNMVBCHtddIJz9PTwh gpxyBVVO9E5kh0T/p/MUmD0CuHXQOZ+qAUo2DM+2SvrdHnxDoLZxWJ+fNuEEiQPtpw 2U8HKU8f8jfjw== From: AngeloGioacchino Del Regno To: matthias.bgg@gmail.com Cc: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, seiya.wang@mediatek.com, tinghan.shen@mediatek.com, allen-kh.cheng@mediatek.com, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, AngeloGioacchino Del Regno Subject: [PATCH 6/6] arm64: dts: mt8192: Change idle states names to reflect actual function Date: Thu, 26 Jan 2023 11:35:26 +0100 Message-Id: <20230126103526.417039-7-angelogioacchino.delregno@collabora.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230126103526.417039-1-angelogioacchino.delregno@collabora.com> References: <20230126103526.417039-1-angelogioacchino.delregno@collabora.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org The names of the idle states are misleading being this a single cluster SoC, a cluster-sleep idle state is impossible! After some research in ATF, it emerged that the cpu-sleep state is in reality putting CPUs in retention state, while the cluster-sleep one is turning off the CPUs. Summarizing renaming: - cpu-sleep -> cpu-retention - cluster-sleep -> cpu-off Signed-off-by: AngeloGioacchino Del Regno --- arch/arm64/boot/dts/mediatek/mt8192.dtsi | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/arch/arm64/boot/dts/mediatek/mt8192.dtsi b/arch/arm64/boot/dts/mediatek/mt8192.dtsi index eb46cbadd310..87b91c8feaf9 100644 --- a/arch/arm64/boot/dts/mediatek/mt8192.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8192.dtsi @@ -62,7 +62,7 @@ cpu0: cpu@0 { reg = <0x000>; enable-method = "psci"; clock-frequency = <1701000000>; - cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; + cpu-idle-states = <&cpu_ret_l &cpu_off_l>; i-cache-size = <32768>; i-cache-line-size = <64>; i-cache-sets = <128>; @@ -79,7 +79,7 @@ cpu1: cpu@100 { reg = <0x100>; enable-method = "psci"; clock-frequency = <1701000000>; - cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; + cpu-idle-states = <&cpu_ret_l &cpu_off_l>; i-cache-size = <32768>; i-cache-line-size = <64>; i-cache-sets = <128>; @@ -96,7 +96,7 @@ cpu2: cpu@200 { reg = <0x200>; enable-method = "psci"; clock-frequency = <1701000000>; - cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; + cpu-idle-states = <&cpu_ret_l &cpu_off_l>; i-cache-size = <32768>; i-cache-line-size = <64>; i-cache-sets = <128>; @@ -113,7 +113,7 @@ cpu3: cpu@300 { reg = <0x300>; enable-method = "psci"; clock-frequency = <1701000000>; - cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; + cpu-idle-states = <&cpu_ret_l &cpu_off_l>; i-cache-size = <32768>; i-cache-line-size = <64>; i-cache-sets = <128>; @@ -130,7 +130,7 @@ cpu4: cpu@400 { reg = <0x400>; enable-method = "psci"; clock-frequency = <2171000000>; - cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; + cpu-idle-states = <&cpu_ret_b &cpu_off_b>; i-cache-size = <65536>; i-cache-line-size = <64>; i-cache-sets = <256>; @@ -147,7 +147,7 @@ cpu5: cpu@500 { reg = <0x500>; enable-method = "psci"; clock-frequency = <2171000000>; - cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; + cpu-idle-states = <&cpu_ret_b &cpu_off_b>; i-cache-size = <65536>; i-cache-line-size = <64>; i-cache-sets = <256>; @@ -164,7 +164,7 @@ cpu6: cpu@600 { reg = <0x600>; enable-method = "psci"; clock-frequency = <2171000000>; - cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; + cpu-idle-states = <&cpu_ret_b &cpu_off_b>; i-cache-size = <65536>; i-cache-line-size = <64>; i-cache-sets = <256>; @@ -181,7 +181,7 @@ cpu7: cpu@700 { reg = <0x700>; enable-method = "psci"; clock-frequency = <2171000000>; - cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; + cpu-idle-states = <&cpu_ret_b &cpu_off_b>; i-cache-size = <65536>; i-cache-line-size = <64>; i-cache-sets = <256>; @@ -250,7 +250,7 @@ l3_0: l3-cache { idle-states { entry-method = "psci"; - cpu_sleep_l: cpu-sleep-l { + cpu_ret_l: cpu-retention-l { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x00010001>; local-timer-stop; @@ -258,7 +258,7 @@ cpu_sleep_l: cpu-sleep-l { exit-latency-us = <140>; min-residency-us = <780>; }; - cpu_sleep_b: cpu-sleep-b { + cpu_ret_b: cpu-retention-b { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x00010001>; local-timer-stop; @@ -266,7 +266,7 @@ cpu_sleep_b: cpu-sleep-b { exit-latency-us = <145>; min-residency-us = <720>; }; - cluster_sleep_l: cluster-sleep-l { + cpu_off_l: cpu-off-l { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x01010002>; local-timer-stop; @@ -274,7 +274,7 @@ cluster_sleep_l: cluster-sleep-l { exit-latency-us = <155>; min-residency-us = <860>; }; - cluster_sleep_b: cluster-sleep-b { + cpu_off_b: cpu-off-b { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x01010002>; local-timer-stop;