Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

clk: qcom: camcc-sc7180: Add parent dependency to all camera GDSCs

Camera titan top GDSC is a parent supply to all other camera GDSCs. Titan
top GDSC is required to be enabled before enabling any other camera GDSCs
and it should be disabled only after all other camera GDSCs are disabled.
Ensure this behavior by marking titan top GDSC as parent of all other
camera GDSCs.

Fixes: 15d09e830bbc ("clk: qcom: camcc: Add camera clock controller driver for SC7180")
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230501142932.13049-1-quic_tdas@quicinc.com

authored by

Taniya Das and committed by
Bjorn Andersson
3e4d1795 853c064b

+12 -7
+12 -7
drivers/clk/qcom/camcc-sc7180.c
··· 1480 1480 }, 1481 1481 }; 1482 1482 1483 + static struct gdsc titan_top_gdsc = { 1484 + .gdscr = 0xb134, 1485 + .pd = { 1486 + .name = "titan_top_gdsc", 1487 + }, 1488 + .pwrsts = PWRSTS_OFF_ON, 1489 + }; 1490 + 1483 1491 static struct gdsc bps_gdsc = { 1484 1492 .gdscr = 0x6004, 1485 1493 .pd = { 1486 1494 .name = "bps_gdsc", 1487 1495 }, 1488 1496 .pwrsts = PWRSTS_OFF_ON, 1497 + .parent = &titan_top_gdsc.pd, 1489 1498 .flags = HW_CTRL, 1490 1499 }; 1491 1500 ··· 1504 1495 .name = "ife_0_gdsc", 1505 1496 }, 1506 1497 .pwrsts = PWRSTS_OFF_ON, 1498 + .parent = &titan_top_gdsc.pd, 1507 1499 }; 1508 1500 1509 1501 static struct gdsc ife_1_gdsc = { ··· 1513 1503 .name = "ife_1_gdsc", 1514 1504 }, 1515 1505 .pwrsts = PWRSTS_OFF_ON, 1506 + .parent = &titan_top_gdsc.pd, 1516 1507 }; 1517 1508 1518 1509 static struct gdsc ipe_0_gdsc = { ··· 1523 1512 }, 1524 1513 .pwrsts = PWRSTS_OFF_ON, 1525 1514 .flags = HW_CTRL, 1515 + .parent = &titan_top_gdsc.pd, 1526 1516 }; 1527 1517 1528 - static struct gdsc titan_top_gdsc = { 1529 - .gdscr = 0xb134, 1530 - .pd = { 1531 - .name = "titan_top_gdsc", 1532 - }, 1533 - .pwrsts = PWRSTS_OFF_ON, 1534 - }; 1535 1518 1536 1519 static struct clk_hw *cam_cc_sc7180_hws[] = { 1537 1520 [CAM_CC_PLL2_OUT_EARLY] = &cam_cc_pll2_out_early.hw,