From mboxrd@z Thu Jan 1 00:00:00 1970 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 6DC2FC27C4F for ; Sat, 29 Jun 2024 15:39:58 +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: Content-Type:Message-ID:References:In-Reply-To:Subject:Cc:To:From:Date: MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=waJk0JDcbLWa+5H3B25h3EW4Cq2sMa/N3FgnU9ZkX8E=; b=iwHCI/9Wj0mx0gN857AhyaW+bh FAW6vKN3trnRkTjuZBwEDZ8uSSpAX2oNnM7PQfwVV7C50frtawL5NU60xCNfw7bfy2crLihi11xvE GcBHxcJkQ4W5/OS1HZEfOjM8dksTG/hZSNU2m1SZjFOx3hNufyYvRYmDuKhBATFmDCCIRcXPEqZhG 7nnB9cUITUzTcmeCLObeY6xlg7ylubIQqqnW6BKCt0FooogZWIJEefouZlyVD7VQqhorzsyV6zXYB 15QKw0cDBCvIRQxcFWklVEOHaxcL3w0f32q2J87BIWaM2RUNnDqG9fzl6sqzJPgPdpcLeml/7CTW4 U29TFkAQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sNaAz-0000000GbPo-3cn8; Sat, 29 Jun 2024 15:39:45 +0000 Received: from mail.manjaro.org ([116.203.91.91]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sNaAq-0000000GbOq-0p3X; Sat, 29 Jun 2024 15:39:37 +0000 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=manjaro.org; s=2021; t=1719675574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=waJk0JDcbLWa+5H3B25h3EW4Cq2sMa/N3FgnU9ZkX8E=; b=V4byZGACLv04ZtZJX0XW7hDYfYzQyfjHrsAxRhVnWkFGcZgnTvqQ7hsUZA/AUfZfXX68OX vvoR5lletgqIyYtMJZ65y7J92czOxX084lEEkSCAAWBhDRu3dr9zRXM/XWJ8WCkBNQzpBp rzvZy+UL3RezqvoEJy9V0LB/+6Bmj0gZ3VJh7QwrQqRZZenIzYkqEdxGgWHSYpB0TyozIh VFbYYOR997H3SNksm1WlcK/A4V/jb/1Zv51Iyn8hNr1nK7UM7nVO9v8ZXQmK2r0X/o7Gql wkTczVVuwjO4zHOazBz7iVFCQFTU0nhKR9WrIPhWkQtlVtn26mo7K6Lh1G+Q3w== Date: Sat, 29 Jun 2024 17:39:34 +0200 From: Dragan Simic To: =?UTF-8?Q?Heiko_St=C3=BCbner?= Cc: linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, linux-kernel@vger.kernel.org, Diederik de Haas , Jonas Karlman Subject: Re: [PATCH] arm64: dts: rockchip: Add optional GPU OPP voltage ranges to RK356x SoC dtsi In-Reply-To: References: <446399362bd2dbeeaecd8351f68811165429749a.1719637113.git.dsimic@manjaro.org> <7679413.EvYhyI6sBW@diego> Message-ID: <36170f8485293b336106e92346478daa@manjaro.org> X-Sender: dsimic@manjaro.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Authentication-Results: ORIGINATING; auth=pass smtp.auth=dsimic@manjaro.org smtp.mailfrom=dsimic@manjaro.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240629_083936_540976_F243AD3A X-CRM114-Status: GOOD ( 22.40 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 2024-06-29 17:25, Dragan Simic wrote: > On 2024-06-29 17:10, Heiko Stübner wrote: >> Am Samstag, 29. Juni 2024, 07:11:24 CEST schrieb Dragan Simic: >> >>> +#ifndef RK356X_GPU_NPU_SHARED_REGULATOR >> >> is there some reason for this duplicating of opps? >> >> The regulator framework should pick the lowest supported voltage >> anyway, so it seems you're just extending them upwards a bit. >> >> So I really don't so why we'd need to sets here. > > The reason is improved strictness. Having the exact GPU OPP voltages > required for the boards whose GPU regulators can provide those exact > voltages makes it possible to detect misconfigurations much easier, > just like it was the case with the board dts misconfiguration that > resulted in the recent DCDC_REG2 patch. [1] > > If we had GPU OPP voltage ranges in place instead, the aforementioned > issue would probably remain undetected for some time. It wouldn't be > the end of the world, :) of course, but the resulting increased power > consumption isn't one of the desired outcomes. > > [1] > https://lore.kernel.org/linux-rockchip/e70742ea2df432bf57b3f7de542d81ca22b0da2f.1716225483.git.dsimic@manjaro.org/ On second thought, after seeing that the RK3399 CPU and GPU OPPs already specify voltage ranges, I think it would be better to drop the distinction between the separate strict voltages and the voltage ranges in this patch, and to add some additional debugging messages to drivers/opp/of.c that would allow any misconfiguration issues to be rather easily detected. >> Also the voltage-range thing makes sense for non-gpu-npu-sharing >> boards, when the supplying regulator does not fully support the >> direct single-value voltage. >> >> (rk3399-puma was such a case if I remember correctly) >> >> So I really see no reason for this duplication. > > Perhaps we could rename the RK356X_GPU_NPU_SHARED_REGULATOR macro > accordingly in the v2, to RK356X_GPU_OPP_VOLTAGE_RANGES, for example, > with some additional explanations in the patch description and the > RK356x SoC dtsi file itself. > >>> opp-200000000 { >>> opp-hz = /bits/ 64 <200000000>; >>> opp-microvolt = <825000>; >>> @@ -222,6 +229,37 @@ opp-800000000 { >>> opp-hz = /bits/ 64 <800000000>; >>> opp-microvolt = <1000000>; >>> }; >>> +#else >>> + opp-200000000 { >>> + opp-hz = /bits/ 64 <200000000>; >>> + opp-microvolt = <825000 825000 1000000>; >>> + }; >>> + >>> + opp-300000000 { >>> + opp-hz = /bits/ 64 <300000000>; >>> + opp-microvolt = <825000 825000 1000000>; >>> + }; >>> + >>> + opp-400000000 { >>> + opp-hz = /bits/ 64 <400000000>; >>> + opp-microvolt = <825000 825000 1000000>; >>> + }; >>> + >>> + opp-600000000 { >>> + opp-hz = /bits/ 64 <600000000>; >>> + opp-microvolt = <825000 825000 1000000>; >>> + }; >>> + >>> + opp-700000000 { >>> + opp-hz = /bits/ 64 <700000000>; >>> + opp-microvolt = <900000 900000 1000000>; >>> + }; >>> + >>> + opp-800000000 { >>> + opp-hz = /bits/ 64 <800000000>; >>> + opp-microvolt = <1000000 1000000 1000000>; >>> + }; >>> +#endif /* RK356X_GPU_NPU_SHARED_REGULATOR */ >>> }; >>> >>> hdmi_sound: hdmi-sound { >>> >> >> >> >> >> >> _______________________________________________ >> Linux-rockchip mailing list >> Linux-rockchip@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-rockchip > > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip