Re: [PATCH V2 2/4] clk: qcom: Add Global Clock controller (GCC) driver for X1E80100

From: Sibi Sankar
Date: Mon Nov 20 2023 - 01:43:06 EST


On 11/18/23 07:22, Bryan O'Donoghue wrote:
On 18/11/2023 00:06, Konrad Dybcio wrote:
On 17.11.2023 21:50, Bryan O'Donoghue wrote:
On 17/11/2023 09:27, Sibi Sankar wrote:
* Use shared ops in the x1e80100 gcc driver [Bryan].

This looks better to me now / more consistent with what we have in sc8280xp - where we do try to hit suspend and => retention/parking matters.
Parking the clock is separate from putting the system to sleep.

Yes but several of our clocks want to be parked, not switched off.. which obviously does matter in suspend.

IIUC we usually use shared ops on clocks that may have different users
(e.g. not only controlled by Linux) and/or that are crucial to the
functioning of hardware (like AXI clocks, which if gated would make
the system crash on any access attempt, from any subsystem, unless
turned on beforehand)

My question here for Sibi, is why sdcc2_apss_clk_src differs here from sc8280xp?

Is it wrong on sc8280xp or if correct sc8280xp then why is it not replicated here ?

https://lore.kernel.org/linux-arm-msm/e857c853-51ef-8314-2a21-fa6fd25162ca@xxxxxxxxxxx/

Bryan,

5e4b7e82d497 ("clk: qcom: gcc-sdm845: Use floor ops for sdcc clks")

The floor_ops was introduced in sdm845 ^^ and later propagated to all
other QC SoCs later on. It makes sense to do the same for sc8280xp as
well.


Also @Sibi I realise alot of this code is autogenerated - it would be worthwhile finding/fixing the script that does the generation to plug in shared_ops instead of floor_ops if the input material has the necessary flags.

floor_ops part isn't auto-generated (it comes out as shared_ops,
but like you said it might make sense to include it as part of the
generation process itself.

-Sibi


---
bod