diff mbox series

[2/2] clk: qcom: camcc-sm8250: Fix topology around titan_top power domain

Message ID 20220519214133.1728979-3-vladimir.zapolskiy@linaro.org (mailing list archive)
State Accepted
Headers show
Series clk: qcom: Fix topology around titan_top power domain | expand

Commit Message

Vladimir Zapolskiy May 19, 2022, 9:41 p.m. UTC
On SM8250 two found VFE GDSC power domains shall not be operated, if
titan top is turned off, thus the former power domains will be set as
subdomains by a GDSC registration routine.

Fixes: 5d66ca79b58c ("clk: qcom: Add camera clock controller driver for SM8250")
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
---
 drivers/clk/qcom/camcc-sm8250.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Robert Foss May 23, 2022, 8:57 a.m. UTC | #1
On Thu, 19 May 2022 at 23:41, Vladimir Zapolskiy
<vladimir.zapolskiy@linaro.org> wrote:
>
> On SM8250 two found VFE GDSC power domains shall not be operated, if
> titan top is turned off, thus the former power domains will be set as
> subdomains by a GDSC registration routine.
>
> Fixes: 5d66ca79b58c ("clk: qcom: Add camera clock controller driver for SM8250")
> Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
> ---
>  drivers/clk/qcom/camcc-sm8250.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/clk/qcom/camcc-sm8250.c b/drivers/clk/qcom/camcc-sm8250.c
> index 439eaafdcc86..d68376077d51 100644
> --- a/drivers/clk/qcom/camcc-sm8250.c
> +++ b/drivers/clk/qcom/camcc-sm8250.c
> @@ -2205,6 +2205,8 @@ static struct clk_branch cam_cc_sleep_clk = {
>         },
>  };
>
> +static struct gdsc titan_top_gdsc;
> +
>  static struct gdsc bps_gdsc = {
>         .gdscr = 0x7004,
>         .pd = {
> @@ -2238,6 +2240,7 @@ static struct gdsc ife_0_gdsc = {
>                 .name = "ife_0_gdsc",
>         },
>         .flags = POLL_CFG_GDSCR,
> +       .parent = &titan_top_gdsc.pd,
>         .pwrsts = PWRSTS_OFF_ON,
>  };
>
> @@ -2247,6 +2250,7 @@ static struct gdsc ife_1_gdsc = {
>                 .name = "ife_1_gdsc",
>         },
>         .flags = POLL_CFG_GDSCR,
> +       .parent = &titan_top_gdsc.pd,
>         .pwrsts = PWRSTS_OFF_ON,
>  };
>
> --
> 2.33.0
>

Reviewed-by: Robert Foss <robert.foss@linaro.org>
diff mbox series

Patch

diff --git a/drivers/clk/qcom/camcc-sm8250.c b/drivers/clk/qcom/camcc-sm8250.c
index 439eaafdcc86..d68376077d51 100644
--- a/drivers/clk/qcom/camcc-sm8250.c
+++ b/drivers/clk/qcom/camcc-sm8250.c
@@ -2205,6 +2205,8 @@  static struct clk_branch cam_cc_sleep_clk = {
 	},
 };
 
+static struct gdsc titan_top_gdsc;
+
 static struct gdsc bps_gdsc = {
 	.gdscr = 0x7004,
 	.pd = {
@@ -2238,6 +2240,7 @@  static struct gdsc ife_0_gdsc = {
 		.name = "ife_0_gdsc",
 	},
 	.flags = POLL_CFG_GDSCR,
+	.parent = &titan_top_gdsc.pd,
 	.pwrsts = PWRSTS_OFF_ON,
 };
 
@@ -2247,6 +2250,7 @@  static struct gdsc ife_1_gdsc = {
 		.name = "ife_1_gdsc",
 	},
 	.flags = POLL_CFG_GDSCR,
+	.parent = &titan_top_gdsc.pd,
 	.pwrsts = PWRSTS_OFF_ON,
 };