On Tue, Jan 02, 2024 at 03:27:29PM +0100, Konrad Dybcio wrote: > On 2.01.2024 11:35, Johan Hovold wrote: > > On Sat, Dec 30, 2023 at 02:04:04PM +0100, Konrad Dybcio wrote: > >> @@ -3010,10 +3010,8 @@ static int camcc_sc8280xp_probe(struct platform_device *pdev) > >> clk_lucid_pll_configure(&camcc_pll6, regmap, &camcc_pll6_config); > >> clk_lucid_pll_configure(&camcc_pll7, regmap, &camcc_pll7_config); > >> > >> - /* > >> - * Keep camcc_gdsc_clk always enabled: > >> - */ > >> - regmap_update_bits(regmap, 0xc1e4, BIT(0), 1); > >> + /* Keep the critical clocks always-on */ > >> + qcom_branch_set_clk_en(regmap, 0xc1e4); /* CAMCC_GDSC_CLK */ > > > > I still think something along the lines of > > > > /* Keep some clocks always on */ > > > > is preferred as it is far from obvious why a camera clock would be > > considered "critical". > > > > Or perhaps you can come up with a better description of why we've > > decided not to model these clocks and just leave them ungated. > Technically they're not really super critical if the hardware is > not in use.. It's just that at one point Qualcomm decided to take > the lazy decision to keep them always-on downstream and we seem to > have agreed on going with that, instead of pm_clk (remember my old > attempt at getting rid of this on dispcc-sc8280xp?).. > > For now, I was just trying to clean this up a bit before looking > into a better solution for this (probably a whole lot of pm_clks > with some clever handle-getting due to different ways of grabbing > clock sources.. by-name vs by-index vs global lookup that we've > accumulated over the years). Yeah, that's fine. I'm not saying you have to come up with a better way of describing these for this series, but I find calling them "critical" throughout is more confusing than the current unspecified comments about leaving some clocks on (i.e. without a proper motivation or even hint about why they are being kept always on). Johan