Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp2252403rdb; Sun, 3 Dec 2023 08:43:35 -0800 (PST) X-Google-Smtp-Source: AGHT+IFqMCHDCruQuMKF9ky6DWoXhrlLDg4T/eboCLk81+lp05BiGhvrHTjZAyH2QIuUj6pVAoPP X-Received: by 2002:a17:903:32d0:b0:1d0:94f2:2ad7 with SMTP id i16-20020a17090332d000b001d094f22ad7mr845322plr.68.1701621814748; Sun, 03 Dec 2023 08:43:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701621814; cv=none; d=google.com; s=arc-20160816; b=vHJKNnWaWwoNTup55Qp9vhfRhfF5C+5oaWTfbF5SB/4cJ3QTsSZ5oqCQkSukhiWGT5 F2r24Ue2pLN06TX7NBDms5XncFESESSoSrJOj1kPgU/Epitkr52Q0EHliRC4szTlEbFs TXfy2NQ14ILrvJA4MBJCuU2/sUw5QzthYZrdtoFfD9FKil5NqzjLEQlVVhpCHaPI8QE/ /8J5sBJDQJP1Typzo+2ZR1JCroaLlcrIYjo54cCxTwauiQSz/v80+imSMzempZ2EvGg/ J747m4tph+uoRoiATBuD4q2WsFCAXs/FFBMrQVDip5suzYeLY1rAfCuSxLLcTm8uKIJL Bi3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=WBjqUg8RVwPya87cJ8LMLaege58T8QYzqLWrmoUUhN4=; fh=/5FHJka4UBGwZEkpA7KT8mwryRM9iJoaZz6Q9BDCAlI=; b=f1Q04L3XLyloGeOzAsuzG12BPk5oLuNOHFklhfD92kGiCUiAPE1fBKaikgZJPQxoGI obODFfLDe3OcjIUq6WrgocBUgYW2ZfZbgsRl4h4HxEuuhZ96fGECHEMDV6SZnwfHZlLH fbjJSc/X0BQLvFJBtm3pU7wmra0l7evg4N48FNlnLn4fDzYPU2F65PDWiUZSEstZsLg1 9uGAMjihMKO1B9tTDGRNGVEOfrNFy7h6qu6QYNYe/lyP7Dgqp4OIaf/NR2HO0EIIHabX VTf7v/vb1rRqc+dQlzkP/k48GYkob0G8rMPtRgIg3w/1LoC1kEqLKXUbjrE+sS93GaLj f4AA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=sntech.de Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id l10-20020a170903244a00b001d06f365722si2751033pls.563.2023.12.03.08.43.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 08:43:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=sntech.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 3E5CA80859A9; Sun, 3 Dec 2023 08:43:31 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229772AbjLCQnH convert rfc822-to-8bit (ORCPT + 99 others); Sun, 3 Dec 2023 11:43:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37568 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229450AbjLCQnG (ORCPT ); Sun, 3 Dec 2023 11:43:06 -0500 Received: from gloria.sntech.de (gloria.sntech.de [185.11.138.130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 03788DF; Sun, 3 Dec 2023 08:43:11 -0800 (PST) Received: from i53875b61.versanet.de ([83.135.91.97] helo=diego.localnet) by gloria.sntech.de with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r9pYU-0004oL-79; Sun, 03 Dec 2023 17:42:54 +0100 From: Heiko =?ISO-8859-1?Q?St=FCbner?= To: Conor Dooley , Krzysztof Kozlowski , Rob Herring , Alex Bee Cc: Daniel Vetter , David Airlie , Thomas Zimmermann , Maxime Ripard , Maarten Lankhorst , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-pm@vger.kernel.org Subject: Re: [PATCH v2 2/5] ARM: dts: rockchip: Add power-controller for RK3128 Date: Sun, 03 Dec 2023 17:42:52 +0100 Message-ID: <9588573.jRhZ6ZUK3Y@diego> In-Reply-To: <4dec2316-f840-44ab-a07a-3d7f0e5e6d8f@gmail.com> References: <20231202125144.66052-1-knaerzche@gmail.com> <4891026.6YUMPnJmAY@diego> <4dec2316-f840-44ab-a07a-3d7f0e5e6d8f@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="iso-8859-1" X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Sun, 03 Dec 2023 08:43:31 -0800 (PST) Hi Alex, Am Sonntag, 3. Dezember 2023, 17:05:47 CET schrieb Alex Bee: > Am 02.12.23 um 18:46 schrieb Heiko St?bner: > > Am Samstag, 2. Dezember 2023, 17:36:15 CET schrieb Alex Bee: > >> Am 02.12.23 um 16:51 schrieb Heiko St?bner: > >>> Am Samstag, 2. Dezember 2023, 13:51:41 CET schrieb Alex Bee: > >>>> Add power controller and qos nodes for RK3128 in order to use > >>>> them as powerdomains. > >>> does the power-domain controller work with the incomplete set of > >>> pm-domains too? > >> Yes, it does - the missing domains can request idle only and can't be > >> powered on/off - if no one requests idle they are just up all the time. > >> > >>> What I have in mind is > >>> - adding the power-controller node with the existing set of power-domains > >>> - the gpu pm-domain is in there > >>> - adding the gpu parts > >> My main concern about adding them later was the change of the ABI after > >> they've been exposed in the SoC DT. If that's not an issue - sure: I can > >> add them in a separate series. > > An ABI change would be _changing_ the domain-ids in the rk3128-power.h > > I think :-) . > Well, an addition is still a change. > > Right now the existing domain ids in the header are already exposed to the > > world, so someone could already use them, but not the new ones. > > I'm fully aware that nothing would ever hard fail anywhere if the new > domain ids get added later. > > Nevertheless we start using here an ABI which is known to be incomplete. > For no reason, as the patches (which I am now asked to remove from this > series) for completion are already there (here). > > Anyway, if you prefer it this way: I'm pleased to do so. I was more thinking of accelerating the gpu-part of the series, as that really is just waiting for the power-domain node that already has driver support and domain-ids present. It looks like you're feeling more strongly about that though, so I'll definitly not pressure you ;-) . But I guess the split into IDs and driver change should still be done, especially as the dt-binding-header likely will want an Ack from the DT maintainers. And the power-domain change will go through the new pmdomain subsystem. Heiko > >>> And a second series with > >>> - patch1 from here > >>> - a dts patch adding the additional pm-domains to rk3128.dtsi > >>> - I guess patch1 also should be split into a patch adding the binding-ids > >>> and a separate patch for the code addition. > >> Yeah, I noticed this also :) > >> > >> Regards, > >> > >> Alex > >> > >>> > >>> Heiko > >>> > >>>> Signed-off-by: Alex Bee > >>>> --- > >>>> arch/arm/boot/dts/rockchip/rk3128.dtsi | 101 +++++++++++++++++++++++++ > >>>> 1 file changed, 101 insertions(+) > >>>> > >>>> diff --git a/arch/arm/boot/dts/rockchip/rk3128.dtsi b/arch/arm/boot/dts/rockchip/rk3128.dtsi > >>>> index 4e8b38604ecd..b72905db04f7 100644 > >>>> --- a/arch/arm/boot/dts/rockchip/rk3128.dtsi > >>>> +++ b/arch/arm/boot/dts/rockchip/rk3128.dtsi > >>>> @@ -8,6 +8,7 @@ > >>>> #include > >>>> #include > >>>> #include > >>>> +#include > >>>> > >>>> / { > >>>> compatible = "rockchip,rk3128"; > >>>> @@ -133,6 +134,106 @@ smp-sram@0 { > >>>> pmu: syscon@100a0000 { > >>>> compatible = "rockchip,rk3128-pmu", "syscon", "simple-mfd"; > >>>> reg = <0x100a0000 0x1000>; > >>>> + > >>>> + power: power-controller { > >>>> + compatible = "rockchip,rk3128-power-controller"; > >>>> + #power-domain-cells = <1>; > >>>> + #address-cells = <1>; > >>>> + #size-cells = <0>; > >>>> + > >>>> + power-domain@RK3128_PD_VIO { > >>>> + reg = ; > >>>> + clocks = <&cru ACLK_CIF>, > >>>> + <&cru HCLK_CIF>, > >>>> + <&cru DCLK_EBC>, > >>>> + <&cru HCLK_EBC>, > >>>> + <&cru ACLK_IEP>, > >>>> + <&cru HCLK_IEP>, > >>>> + <&cru ACLK_LCDC0>, > >>>> + <&cru HCLK_LCDC0>, > >>>> + <&cru PCLK_MIPI>, > >>>> + <&cru ACLK_RGA>, > >>>> + <&cru HCLK_RGA>, > >>>> + <&cru ACLK_VIO0>, > >>>> + <&cru ACLK_VIO1>, > >>>> + <&cru HCLK_VIO>, > >>>> + <&cru HCLK_VIO_H2P>, > >>>> + <&cru DCLK_VOP>, > >>>> + <&cru SCLK_VOP>; > >>>> + pm_qos = <&qos_ebc>, > >>>> + <&qos_iep>, > >>>> + <&qos_lcdc>, > >>>> + <&qos_rga>, > >>>> + <&qos_vip>; > >>>> + #power-domain-cells = <0>; > >>>> + }; > >>>> + > >>>> + power-domain@RK3128_PD_VIDEO { > >>>> + reg = ; > >>>> + clocks = <&cru ACLK_VDPU>, > >>>> + <&cru HCLK_VDPU>, > >>>> + <&cru ACLK_VEPU>, > >>>> + <&cru HCLK_VEPU>, > >>>> + <&cru SCLK_HEVC_CORE>; > >>>> + pm_qos = <&qos_vpu>; > >>>> + #power-domain-cells = <0>; > >>>> + }; > >>>> + > >>>> + power-domain@RK3128_PD_GPU { > >>>> + reg = ; > >>>> + clocks = <&cru ACLK_GPU>; > >>>> + pm_qos = <&qos_gpu>; > >>>> + #power-domain-cells = <0>; > >>>> + }; > >>>> + > >>>> + power-domain@RK3128_PD_CRYPTO { > >>>> + reg = ; > >>>> + clocks = <&cru HCLK_CRYPTO>, > >>>> + <&cru SCLK_CRYPTO>; > >>>> + pm_qos = <&qos_crypto>; > >>>> + #power-domain-cells = <0>; > >>>> + }; > >>>> + }; > >>>> + }; > >>>> + > >>>> + qos_crypto: qos@10128080 { > >>>> + compatible = "rockchip,rk3128-qos", "syscon"; > >>>> + reg = <0x10128080 0x20>; > >>>> + }; > >>>> + > >>>> + qos_gpu: qos@1012d000 { > >>>> + compatible = "rockchip,rk3128-qos", "syscon"; > >>>> + reg = <0x1012d000 0x20>; > >>>> + }; > >>>> + > >>>> + qos_vpu: qos@1012e000 { > >>>> + compatible = "rockchip,rk3128-qos", "syscon"; > >>>> + reg = <0x1012e000 0x20>; > >>>> + }; > >>>> + > >>>> + qos_rga: qos@1012f000 { > >>>> + compatible = "rockchip,rk3128-qos", "syscon"; > >>>> + reg = <0x1012f000 0x20>; > >>>> + }; > >>>> + > >>>> + qos_ebc: qos@1012f080 { > >>>> + compatible = "rockchip,rk3128-qos", "syscon"; > >>>> + reg = <0x1012f080 0x20>; > >>>> + }; > >>>> + > >>>> + qos_iep: qos@1012f100 { > >>>> + compatible = "rockchip,rk3128-qos", "syscon"; > >>>> + reg = <0x1012f100 0x20>; > >>>> + }; > >>>> + > >>>> + qos_lcdc: qos@1012f180 { > >>>> + compatible = "rockchip,rk3128-qos", "syscon"; > >>>> + reg = <0x1012f180 0x20>; > >>>> + }; > >>>> + > >>>> + qos_vip: qos@1012f200 { > >>>> + compatible = "rockchip,rk3128-qos", "syscon"; > >>>> + reg = <0x1012f200 0x20>; > >>>> }; > >>>> > >>>> gic: interrupt-controller@10139000 { > >>>> > >>> > >>> > > > > > > >