From nobody Mon Feb 9 10:12:57 2026 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 24FCCC0015E for ; Mon, 19 Jun 2023 16:14:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232194AbjFSQNa (ORCPT ); Mon, 19 Jun 2023 12:13:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33374 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232156AbjFSQN0 (ORCPT ); Mon, 19 Jun 2023 12:13:26 -0400 Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com [IPv6:2a00:1450:4864:20::230]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 113861AC for ; Mon, 19 Jun 2023 09:13:25 -0700 (PDT) Received: by mail-lj1-x230.google.com with SMTP id 38308e7fff4ca-2b45e6e1b73so42850541fa.0 for ; Mon, 19 Jun 2023 09:13:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1687191203; x=1689783203; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Zb5V9XwfVFSIHpQhT+fVgcE2qaopeXD6dDII5Ksk8SI=; b=bB+j6bXK9bzttVUO3aefwzMtLgjoTbl5bcAV4jZtwnCEe2+zNabdgA508a+8J/V5iN 6WwrXRM6DNCHdS8upXURZenKQvT4G2G7GkrGs1LvPaNEra+8q+aTF532jXrfbIHkyFio nCuwS3Xcd+iTVWw8JQ6bnMxjsfQqJqsUn2JyfbD3aBidw/FeMKVLFl8CLSqjKfMGgGdy I7uapsi2rn1XMLJPut+m8TD3jAFDRMsIofCXBQMveozk5eEe+YOnR+H2uy+13ZGJ+Nxc zc/ZXmlHVtKkOBfIYEC5f540LKyvhx8Tb2UIzs4xex7fTpVD8oRZl5OkEaHZYLZWWvMm 10XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687191203; x=1689783203; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Zb5V9XwfVFSIHpQhT+fVgcE2qaopeXD6dDII5Ksk8SI=; b=lCQRCAkS3vFGnnUW2o/5/79AQZkq1WQP1844cp0/449SYDZFLcwxBlvqFUXgFTuBSA VoSU+hXxdM9XT76ZnetXyHZ7KiYgC2mKCwKPuvMxfeWOufT8V5mSCLKWqlWpxbpXm7Ct EMdUitY+hoVfaPcYSViUQGdUonPcLDC1Ci9+Rq1teVOCt5APgQrPhr/x3GuMRmCT1NeT /mfPXkcZ7pUcQxZnZ15/7batw/8PGgsLDxKOyfhIwM0BPgAbhPpx24wcLCo72r9u20Ur hD+Dofm9wLoPqaAGu8AgPILY3a6i0BTY1CvBOStAsjKnPuwbRsCBWaL8RTKqORsY6ddI fwVg== X-Gm-Message-State: AC+VfDwN5g4CCG9xo1pjpQdx9uv4WH2IL50FHifuybUnzDqkKf9cqu13 ej8v9RJ/2G/yiwaVFTEK6XurzqzCsGdgarwc6G0= X-Google-Smtp-Source: ACHHUZ7P7sjednE2bGKLN2y9DXYmXl1NUfMgakQ31M8U+TKMrIDoMuESw8gMix1UVjbnSDPaMddkQw== X-Received: by 2002:a2e:8842:0:b0:2b4:6b64:6855 with SMTP id z2-20020a2e8842000000b002b46b646855mr3283513ljj.24.1687191203246; Mon, 19 Jun 2023 09:13:23 -0700 (PDT) Received: from [192.168.1.101] (abyl242.neoplus.adsl.tpnet.pl. [83.9.31.242]) by smtp.gmail.com with ESMTPSA id x20-20020a2e7c14000000b002b471efb253sm1011714ljc.46.2023.06.19.09.13.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Jun 2023 09:13:22 -0700 (PDT) From: Konrad Dybcio Date: Mon, 19 Jun 2023 18:13:17 +0200 Subject: [PATCH 1/2] clk: qcom: gpucc-sc8280xp: Add runtime PM MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230619-topic-sc8280xp-clk-rpm-v1-1-1e5e1064cdb2@linaro.org> References: <20230619-topic-sc8280xp-clk-rpm-v1-0-1e5e1064cdb2@linaro.org> In-Reply-To: <20230619-topic-sc8280xp-clk-rpm-v1-0-1e5e1064cdb2@linaro.org> To: Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1687191201; l=1937; i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; bh=5Q+uIon8TwEZ6cJYHo5zacahpsGk7QSU+uGdUpH/moA=; b=f3JFlxvNLVIGIfQGPanhZfCO1xDNeRNXyVkclN0YBwa4r94CwWeP7+9B5deZSpgSsP0FlNyUo T7Oirv/CVT/Cfb8Ff/akhzHaU2Dn6Ab3fgZJNA/CP8AsDl0nURfl9Ty X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The GPU_CC block on SC8280XP is powered by the GFX rail. We need to ensure that it's enabled to prevent unwanted power collapse. Enable runtime PM to keep the power flowing only when necessary. Signed-off-by: Konrad Dybcio --- drivers/clk/qcom/gpucc-sc8280xp.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/drivers/clk/qcom/gpucc-sc8280xp.c b/drivers/clk/qcom/gpucc-sc8= 280xp.c index ea1e9505c335..8e147ee294ee 100644 --- a/drivers/clk/qcom/gpucc-sc8280xp.c +++ b/drivers/clk/qcom/gpucc-sc8280xp.c @@ -7,6 +7,7 @@ #include #include #include +#include #include =20 #include @@ -424,10 +425,21 @@ static struct qcom_cc_desc gpu_cc_sc8280xp_desc =3D { static int gpu_cc_sc8280xp_probe(struct platform_device *pdev) { struct regmap *regmap; + int ret; + + ret =3D devm_pm_runtime_enable(&pdev->dev); + if (ret) + return ret; + + ret =3D pm_runtime_resume_and_get(&pdev->dev); + if (ret) + return ret; =20 regmap =3D qcom_cc_map(pdev, &gpu_cc_sc8280xp_desc); - if (IS_ERR(regmap)) + if (IS_ERR(regmap)) { + pm_runtime_put(&pdev->dev); return PTR_ERR(regmap); + } =20 clk_lucid_pll_configure(&gpu_cc_pll0, regmap, &gpu_cc_pll0_config); clk_lucid_pll_configure(&gpu_cc_pll1, regmap, &gpu_cc_pll1_config); @@ -439,7 +451,10 @@ static int gpu_cc_sc8280xp_probe(struct platform_devic= e *pdev) regmap_update_bits(regmap, 0x1170, BIT(0), BIT(0)); regmap_update_bits(regmap, 0x109c, BIT(0), BIT(0)); =20 - return qcom_cc_really_probe(pdev, &gpu_cc_sc8280xp_desc, regmap); + ret =3D qcom_cc_really_probe(pdev, &gpu_cc_sc8280xp_desc, regmap); + pm_runtime_put(&pdev->dev); + + return ret; } =20 static const struct of_device_id gpu_cc_sc8280xp_match_table[] =3D { --=20 2.41.0 From nobody Mon Feb 9 10:12:57 2026 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 46E51EB64DC for ; Mon, 19 Jun 2023 16:14:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232209AbjFSQNd (ORCPT ); Mon, 19 Jun 2023 12:13:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33384 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232055AbjFSQN1 (ORCPT ); Mon, 19 Jun 2023 12:13:27 -0400 Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED22B1B0 for ; Mon, 19 Jun 2023 09:13:25 -0700 (PDT) Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-2b46bfa66d2so29012601fa.2 for ; Mon, 19 Jun 2023 09:13:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1687191204; x=1689783204; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=hmgYvNinjU/fT+erZeLft1aKLnZsg+oPmLA3CULSbeM=; b=PTEHzxVjoT1bF8b5NSp4p68xB+MVPrSsJJUY0khQid3MBOQ+0J/+/PjP5ztIJnoEte wnFd+gMhlzHN05KizStYKFgY0/J+neM+FabraUyIE4grK0b2Xy36NcJEcfAiw/eidaTL lBbCMzwMCHodFXALMzlUfFHUad8nkzCyoihpPCx6ZhelQM7cijXatQVr4/BNAib/4/zt EVBHsyAyofZh9OiQNOounIyW6aW5CrPCYY1bdmTzYy2IrpZSC51i0Todnq/bli6Xw9mS 6D3ZYv9axSfxuK0o7pZQ2IxZZBVV5cteCUXqmOSQPNYe7B847ZjptQGNcfhNtWYSarSo LpcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687191204; x=1689783204; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hmgYvNinjU/fT+erZeLft1aKLnZsg+oPmLA3CULSbeM=; b=SfJRERLihdq3awOF2bthYcu1bGVt3pThkPHQhcZ8BN1UCOJ3GqLpNpXWmUxkkAFGFa wqYQ4odankmkQglq7ZM6vzrXGC1n/RYDdETV2p0DLU3JjAset083+4cDKH2yCfNquO+b Ee/hwSM8wwFqlsv+TE7q7vFGkQqpty+ZcahwQeWvSo+6Nm38Lc5z6Ag+ee/Sy/eVUw0J k7y5l3OT6n5IJbkTEfF8O5XSBcREAGWuqe1iqyrqqK289YGQjtfLcmDbDQ8yhKqS7NA/ 00Tzd4tYkIHWPe13h6cvXeSOF6KdufqwCtIo/Au2MdRUB3SEy27i3ro3CcBXe2KDATaR sv9g== X-Gm-Message-State: AC+VfDxvgjHu10Ig12jT1+jTn0Rwi8qCwvX6GYmTm1AKGyUl2YcmhJpb jMIy0WtW3E4yYBfPKf6JrL7LOPcKAU1FeyyPKak= X-Google-Smtp-Source: ACHHUZ5FVyfJK40+gm5ktlujj/AXdHiYmbvKw0KBnc6dK1hlmNuaf+P6ZagFHzrzYXyq0LyYIyYb4A== X-Received: by 2002:a2e:960d:0:b0:2ad:d291:72e1 with SMTP id v13-20020a2e960d000000b002add29172e1mr6611945ljh.18.1687191204336; Mon, 19 Jun 2023 09:13:24 -0700 (PDT) Received: from [192.168.1.101] (abyl242.neoplus.adsl.tpnet.pl. [83.9.31.242]) by smtp.gmail.com with ESMTPSA id x20-20020a2e7c14000000b002b471efb253sm1011714ljc.46.2023.06.19.09.13.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Jun 2023 09:13:24 -0700 (PDT) From: Konrad Dybcio Date: Mon, 19 Jun 2023 18:13:18 +0200 Subject: [PATCH 2/2] clk: qcom: gcc-sc8280xp: Add runtime PM MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230619-topic-sc8280xp-clk-rpm-v1-2-1e5e1064cdb2@linaro.org> References: <20230619-topic-sc8280xp-clk-rpm-v1-0-1e5e1064cdb2@linaro.org> In-Reply-To: <20230619-topic-sc8280xp-clk-rpm-v1-0-1e5e1064cdb2@linaro.org> To: Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1687191201; l=1628; i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; bh=iLOsinGTJtv8sPDkEM7a2zWDxDnO0K1p+yOFG6UU878=; b=7gTXtpfYHcJ+0pwGRH82J2GexETpGG26Gyb/o04zQKY9qD5wnd1s78SdNgclCurw05CB4RlMi lEdx/i0XRbsDjfQmEAqtdOzVf3WwIQRHifziP649VUBKp7lkQLL5FK5 X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The GCC block on SC8280XP is powered by the CX rail. We need to ensure that it's enabled to prevent unwanted power collapse. Enable runtime PM to keep the power flowing only when necessary. Signed-off-by: Konrad Dybcio --- drivers/clk/qcom/gcc-sc8280xp.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/drivers/clk/qcom/gcc-sc8280xp.c b/drivers/clk/qcom/gcc-sc8280x= p.c index 04a99dbaa57e..b90c71637814 100644 --- a/drivers/clk/qcom/gcc-sc8280xp.c +++ b/drivers/clk/qcom/gcc-sc8280xp.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include =20 @@ -7421,9 +7422,19 @@ static int gcc_sc8280xp_probe(struct platform_device= *pdev) struct regmap *regmap; int ret; =20 + ret =3D devm_pm_runtime_enable(&pdev->dev); + if (ret) + return ret; + + ret =3D pm_runtime_resume_and_get(&pdev->dev); + if (ret) + return ret; + regmap =3D qcom_cc_map(pdev, &gcc_sc8280xp_desc); - if (IS_ERR(regmap)) + if (IS_ERR(regmap)) { + pm_runtime_put(&pdev->dev); return PTR_ERR(regmap); + } =20 /* * Keep the clocks always-ON @@ -7445,7 +7456,10 @@ static int gcc_sc8280xp_probe(struct platform_device= *pdev) if (ret) return ret; =20 - return qcom_cc_really_probe(pdev, &gcc_sc8280xp_desc, regmap); + ret =3D qcom_cc_really_probe(pdev, &gcc_sc8280xp_desc, regmap); + pm_runtime_put(&pdev->dev); + + return ret; } =20 static const struct of_device_id gcc_sc8280xp_match_table[] =3D { --=20 2.41.0