diff mbox series

[v4,3/8] clk: qcom: gpucc-sc8280xp: Add external supply for GX gdsc

Message ID 20240125-sa8295p-gpu-v4-3-7011c2a63037@quicinc.com (mailing list archive)
State New, archived
Headers show
Series arm64: dts: qcom: sa8295p: Enable GPU | expand

Commit Message

Bjorn Andersson Jan. 25, 2024, 9:05 p.m. UTC
On SA8295P and SA8540P the GFX rail is powered by a dedicated external
regulator, instead of the rpmh-controlled "gfx.lvl".

Define the "vdd-gfx" as the supply regulator for the GDSC, to cause the
gdsc logic to look for, and control, this external power supply.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/clk/qcom/gpucc-sc8280xp.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Johan Hovold March 25, 2024, 9:38 a.m. UTC | #1
On Thu, Jan 25, 2024 at 01:05:09PM -0800, Bjorn Andersson wrote:
> On SA8295P and SA8540P the GFX rail is powered by a dedicated external
> regulator, instead of the rpmh-controlled "gfx.lvl".
> 
> Define the "vdd-gfx" as the supply regulator for the GDSC, to cause the
> gdsc logic to look for, and control, this external power supply.
> 
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
> ---
>  drivers/clk/qcom/gpucc-sc8280xp.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/clk/qcom/gpucc-sc8280xp.c b/drivers/clk/qcom/gpucc-sc8280xp.c
> index 8e147ee294ee..e2b3bc000c71 100644
> --- a/drivers/clk/qcom/gpucc-sc8280xp.c
> +++ b/drivers/clk/qcom/gpucc-sc8280xp.c
> @@ -399,6 +399,7 @@ static struct gdsc gx_gdsc = {
>  	},
>  	.pwrsts = PWRSTS_OFF_ON,
>  	.flags = CLAMP_IO | RETAIN_FF_ENABLE,
> +	.supply = "vdd-gfx",

This change now triggers warnings on SC8280XP which does not have this
supply:

	gpu_cc-sc8280xp 3d90000.clock-controller: supply vdd-gfx not found, using dummy regulator

I've sent a change to start treating this optional supply as truly
optional here (even if it has not shown up in lore yet):

	https://lore.kernel.org/r/20240325081957.10946-1-johan+linaro@kernel.org

But why are we still using the same compatible string for sc8280xp and
sa8540p and sa8295p if they differ in such a way?

Shouldn't these structures be different for the two classes of SoCs,
which would avoid such issues and which would allow us to continue to
warn if the supply is missing on a sa8540p derivative platforms where it
appears to be required.

Johan
diff mbox series

Patch

diff --git a/drivers/clk/qcom/gpucc-sc8280xp.c b/drivers/clk/qcom/gpucc-sc8280xp.c
index 8e147ee294ee..e2b3bc000c71 100644
--- a/drivers/clk/qcom/gpucc-sc8280xp.c
+++ b/drivers/clk/qcom/gpucc-sc8280xp.c
@@ -399,6 +399,7 @@  static struct gdsc gx_gdsc = {
 	},
 	.pwrsts = PWRSTS_OFF_ON,
 	.flags = CLAMP_IO | RETAIN_FF_ENABLE,
+	.supply = "vdd-gfx",
 };
 
 static struct gdsc *gpu_cc_sc8280xp_gdscs[] = {