]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
clk: qcom: camcc-sdm845: Specify Titan GDSC power domain as a parent to other
authorVladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Tue, 21 Oct 2025 23:44:47 +0000 (02:44 +0300)
committerBjorn Andersson <andersson@kernel.org>
Wed, 22 Oct 2025 20:45:28 +0000 (15:45 -0500)
When a consumer turns on/off a power domain dependent on another power
domain in hardware, the parent power domain shall be turned on/off by
the power domain provider as well, and to get it the power domain hardware
hierarchy shall be properly described in the power domain provider driver.

Establish the power domain hierarchy with a Titan GDSC set as a parent of
other GDSC power domains provided by the SDM845 camera clock controller,
including IPE0/1 and BPS ones.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Imran Shaik <imran.shaik@oss.qualcomm.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Link: https://lore.kernel.org/r/20251021234450.2271279-4-vladimir.zapolskiy@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/camcc-sdm845.c

index cf60e8dd292a93d0bbc4f77aef6dd90a6943f269..fb313da7165b8bef7a01d4514e16b43752ce9c07 100644 (file)
@@ -1543,6 +1543,7 @@ static struct gdsc bps_gdsc = {
                .name = "bps_gdsc",
        },
        .flags = HW_CTRL | POLL_CFG_GDSCR,
+       .parent = &titan_top_gdsc.pd,
        .pwrsts = PWRSTS_OFF_ON,
 };
 
@@ -1552,6 +1553,7 @@ static struct gdsc ipe_0_gdsc = {
                .name = "ipe_0_gdsc",
        },
        .flags = HW_CTRL | POLL_CFG_GDSCR,
+       .parent = &titan_top_gdsc.pd,
        .pwrsts = PWRSTS_OFF_ON,
 };
 
@@ -1561,6 +1563,7 @@ static struct gdsc ipe_1_gdsc = {
                .name = "ipe_1_gdsc",
        },
        .flags = HW_CTRL | POLL_CFG_GDSCR,
+       .parent = &titan_top_gdsc.pd,
        .pwrsts = PWRSTS_OFF_ON,
 };