Received: by 2002:a05:7412:518d:b0:e2:908c:2ebd with SMTP id fn13csp326032rdb; Thu, 5 Oct 2023 07:09:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGqatbqOpGmKVaBLTAD/N2Tr8RjWIz2a/rMhHoVSVTQpY36FWtxjDBR4rQvJByb/jPnPtQO X-Received: by 2002:a05:6e02:b2b:b0:351:4f0c:b966 with SMTP id e11-20020a056e020b2b00b003514f0cb966mr6040572ilu.20.1696514980361; Thu, 05 Oct 2023 07:09:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696514980; cv=none; d=google.com; s=arc-20160816; b=MIYijVJZ239myGeB+/ps0NKhNWCJ/GQamQ3V65ugmEwzGAmY2ECpTFiD1Q+4kuqwHu ZVvJ4AqkCPG97gW7BvvtwMTkwOuhl0H78SCvImL4Q/V4VH2LUsHaQ/Oclxp4d2167Gpu a3mz67UEtROmUttXrTaDSURSFSqEGuxpESq5zd8X9WCL4+CTzCFNcN6WhTGyfK4dlsRx kiGHfPlgR9kDgPeKF8BvC1u4vrmJzvu1o0l6x/Idnzw3jHhLrFx2B2xJJuc+QZqBMCWm K/h3zICNWp5s+PAS9QvRho5gpjfs5wnmxC6ijbOMvL70rHicjmSdCO9JFnfyrLBh4JmA ZcFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=YVObFCNLlwBPipdK3H8KmPs3z72Q3xYU1AFPpgt6DIU=; fh=rMyyxnL8wtaterU8L0cjRz2ucL0tEUT2EuLb/hc778Y=; b=DGtH7qRUNLhhZHhLvuJqsZpt0cY9IbMF4NT8ym4vk5WfswobPyntz5Y3ixGip9PtJ/ Smh6nDFAP7/qj3iWmGhFXVrjfCVC9hx9cqwEzEPyrlBRVifACZ7OL0cXPSwdXksZgUWV hF41iPcBlG1fJuQE4/TdWbT8ZkRJsfAn7Zv+wxm3L6UxzEEWpsNp77ry9bnmU9TLXvE/ x87tIdBAuiYbH9EJN5zePbLY3mFEg+e6uE0w3/0A0kSu+dnU0YRbYDtVGRVF1omgsAlZ jLNPzrxRpBmTya7C53ELqpCC8WAIRQhLY7o5yc7sBXPe9K3KndvImVHwiXThFcV0WKlR Q8kw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=AOa420kL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id q24-20020a638c58000000b005897bfc2ed9si589165pgn.735.2023.10.05.07.09.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Oct 2023 07:09:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=AOa420kL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id DC6B6801B39D; Thu, 5 Oct 2023 07:09:38 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233055AbjJEOJa (ORCPT + 99 others); Thu, 5 Oct 2023 10:09:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33940 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232122AbjJEOHT (ORCPT ); Thu, 5 Oct 2023 10:07:19 -0400 Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [IPv6:2a00:1450:4864:20::12a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9CD7822C83 for ; Thu, 5 Oct 2023 03:43:06 -0700 (PDT) Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-504a7f9204eso1029635e87.3 for ; Thu, 05 Oct 2023 03:43:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1696502585; x=1697107385; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=YVObFCNLlwBPipdK3H8KmPs3z72Q3xYU1AFPpgt6DIU=; b=AOa420kLUB0ARHlS9yJpUptTHxVGNbSzGIgOS7VLxaQIF8KBR3laYErI29O7I9olPk ZXDBaN38om7wMOQKSGJ2hTWLYVlqHFT77j1CRFxVa1JX2kcxTYOB2KucfF5Ihs6N17EE EmuCk9fyRAi9UqeV88/vaeXUdquTwq8OBtwVI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696502585; x=1697107385; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YVObFCNLlwBPipdK3H8KmPs3z72Q3xYU1AFPpgt6DIU=; b=PTcC0k6jy6nyOyDjphRmp9hF+Rww8xqFy47DqUMVhUI0N7dMFjCC9VVVt0f2AYr67t RAVlAeS1oX71H4CNeCVToRaOk+w3d/HWAKW2/Ilphrj7hnpMvPY1SfaFX2sVF3a2JmVr lEzAPWrSpTg3l/qIDmInQQysiL5+bl+blPPi+edAD6rWvVb2uTqhFSIVKgJqEyQArhSc L/c/DbFCkgVMfvu5WYx0HGvWs+NCG7IfEo/bxWhjRyB1JTinacZuyY89PGic8JdMEhPs rcaVRnbyV1VmAz5S9AtAqTDl2RFlQlySSc3lua13ROSDyISQ/pqtAbSfWGR2ju6wDR0r cruw== X-Gm-Message-State: AOJu0YyKxsK5LQ/zAErnp/QPM15Hl9vqWpqjNj7cbB/Uy4rHTVBc+wJF i0k+y0nX0xsQ6e3jif2tFtRRXDrX0insQNTJwZBxWA== X-Received: by 2002:a19:4f4d:0:b0:500:bff5:54ec with SMTP id a13-20020a194f4d000000b00500bff554ecmr3807702lfk.3.1696502584574; Thu, 05 Oct 2023 03:43:04 -0700 (PDT) MIME-Version: 1.0 References: <20231005103041.352478-1-eugen.hristev@collabora.com> In-Reply-To: <20231005103041.352478-1-eugen.hristev@collabora.com> From: Chen-Yu Tsai Date: Thu, 5 Oct 2023 18:42:53 +0800 Message-ID: Subject: Re: [PATCH] arm64: dts: mediatek: mt8186: fix clock names for power domains To: Eugen Hristev Cc: matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com, allen-kh.cheng@mediatek.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Thu, 05 Oct 2023 07:09:39 -0700 (PDT) On Thu, Oct 5, 2023 at 6:31=E2=80=AFPM Eugen Hristev wrote: > > Clocks for each power domain are split into big categories: pd clocks > and subsys clocks. > According to the binding, all clocks which have a dash '-' in their name > are treated as subsys clocks, and must be placed at the end of the list. > The other clocks which are pd clocks must come first. > Fixed the naming and the placing of all clocks in the power domains. > For the avoidance of doubt, prefixed all subsys clocks with the 'subsys' > prefix. The binding does not enforce strict clock names, the driver > uses them in bulk, only making a difference for pd clocks vs subsys clock= s. > > The above problem appears to be trivial, however, it leads to incorrect > power up and power down sequence of the power domains, because some > clocks will be mistakenly taken for subsys clocks and viceversa. > One consequence is the fact that if the DIS power domain goes power down > and power back up during the boot process, when it comes back up, there > are still transactions left on the bus which makes the display inoperable= . > > Some of the clocks for the DIS power domain were wrongly using '_' instea= d > of '-', which again made these clocks being treated as pd clocks instead = of > subsys clocks. > > Fixes: d9e43c1e7a38 ("arm64: dts: mt8186: Add power domains controller") > Signed-off-by: Eugen Hristev Tested-by: Chen-Yu Tsai This brings the display back to life on my MT8186 device. :D Thank you for tracking down the issue! > --- > arch/arm64/boot/dts/mediatek/mt8186.dtsi | 42 +++++++++++++++--------- > 1 file changed, 27 insertions(+), 15 deletions(-) > > diff --git a/arch/arm64/boot/dts/mediatek/mt8186.dtsi b/arch/arm64/boot/d= ts/mediatek/mt8186.dtsi > index af6f6687de35..7121d4312bee 100644 > --- a/arch/arm64/boot/dts/mediatek/mt8186.dtsi > +++ b/arch/arm64/boot/dts/mediatek/mt8186.dtsi > @@ -924,7 +924,8 @@ power-domain@MT8186_POWER_DOMAIN_CSIRX_TOP { > reg =3D ; > clocks =3D <&topckgen CLK_TOP_SEN= INF>, > <&topckgen CLK_TOP_SENIN= F1>; > - clock-names =3D "csirx_top0", "cs= irx_top1"; > + clock-names =3D "subsys-csirx-top= 0", > + "subsys-csirx-top1"= ; > #power-domain-cells =3D <0>; > }; > > @@ -942,7 +943,8 @@ power-domain@MT8186_POWER_DOMAIN_ADSP_AO { > reg =3D ; > clocks =3D <&topckgen CLK_TOP_AUD= IODSP>, > <&topckgen CLK_TOP_ADSP_= BUS>; > - clock-names =3D "audioadsp", "ads= p_bus"; > + clock-names =3D "audioadsp", > + "subsys-adsp-bus"; > #address-cells =3D <1>; > #size-cells =3D <0>; > #power-domain-cells =3D <1>; > @@ -975,8 +977,11 @@ power-domain@MT8186_POWER_DOMAIN_DIS { > <&mmsys CLK_MM_SMI_COMMO= N>, > <&mmsys CLK_MM_SMI_GALS>= , > <&mmsys CLK_MM_SMI_IOMMU= >; > - clock-names =3D "disp", "mdp", "s= mi_infra", "smi_common", > - "smi_gals", "smi_iom= mu"; > + clock-names =3D "disp", "mdp", > + "subsys-smi-infra", > + "subsys-smi-common"= , > + "subsys-smi-gals", > + "subsys-smi-iommu"; > mediatek,infracfg =3D <&infracfg_= ao>; > #address-cells =3D <1>; > #size-cells =3D <0>; > @@ -993,15 +998,17 @@ power-domain@MT8186_POWER_DOMAIN_VDEC { > > power-domain@MT8186_POWER_DOMAIN_= CAM { > reg =3D ; > - clocks =3D <&topckgen CLK= _TOP_CAM>, > - <&topckgen CLK_T= OP_SENINF>, > + clocks =3D <&topckgen CLK= _TOP_SENINF>, > <&topckgen CLK_T= OP_SENINF1>, > <&topckgen CLK_T= OP_SENINF2>, > <&topckgen CLK_T= OP_SENINF3>, > + <&camsys CLK_CAM= 2MM_GALS>, > <&topckgen CLK_T= OP_CAMTM>, > - <&camsys CLK_CAM= 2MM_GALS>; > - clock-names =3D "cam-top"= , "cam0", "cam1", "cam2", > - "cam3", "cam= -tm", "gals"; > + <&topckgen CLK_T= OP_CAM>; > + clock-names =3D "cam0", "= cam1", "cam2", > + "cam3", "ga= ls", > + "subsys-cam= -tm", > + "subsys-cam= -top"; > mediatek,infracfg =3D <&i= nfracfg_ao>; > #address-cells =3D <1>; > #size-cells =3D <0>; > @@ -1020,9 +1027,9 @@ power-domain@MT8186_POWER_DOMAIN_CAM_RAWA { > > power-domain@MT8186_POWER_DOMAIN_= IMG { > reg =3D ; > - clocks =3D <&topckgen CLK= _TOP_IMG1>, > - <&imgsys1 CLK_IM= G1_GALS_IMG1>; > - clock-names =3D "img-top"= , "gals"; > + clocks =3D <&imgsys1 CLK_= IMG1_GALS_IMG1>, > + <&topckgen CLK_T= OP_IMG1>; > + clock-names =3D "gals", "= subsys-img-top"; > mediatek,infracfg =3D <&i= nfracfg_ao>; > #address-cells =3D <1>; > #size-cells =3D <0>; > @@ -1041,8 +1048,11 @@ power-domain@MT8186_POWER_DOMAIN_IPE { > <&ipesys CLK_IPE= _LARB20>, > <&ipesys CLK_IPE= _SMI_SUBCOM>, > <&ipesys CLK_IPE= _GALS_IPE>; > - clock-names =3D "ipe-top"= , "ipe-larb0", "ipe-larb1", > - "ipe-smi", = "ipe-gals"; > + clock-names =3D "subsys-i= pe-top", > + "subsys-ipe= -larb0", > + "subsys-ipe= -larb1", > + "subsys-ipe= -smi", > + "subsys-ipe= -gals"; > mediatek,infracfg =3D <&i= nfracfg_ao>; > #power-domain-cells =3D <= 0>; > }; > @@ -1061,7 +1071,9 @@ power-domain@MT8186_POWER_DOMAIN_WPE { > clocks =3D <&topckgen CLK= _TOP_WPE>, > <&wpesys CLK_WPE= _SMI_LARB8_CK_EN>, > <&wpesys CLK_WPE= _SMI_LARB8_PCLK_EN>; > - clock-names =3D "wpe0", "= larb-ck", "larb-pclk"; > + clock-names =3D "wpe0", > + "subsys-lar= b-ck", > + "subsys-lar= b-pclk"; > mediatek,infracfg =3D <&i= nfracfg_ao>; > #power-domain-cells =3D <= 0>; > }; > -- > 2.34.1 > >