Re: [RESEND] clk: qcom: rcg: Update rcg configuration before enabling it

From: Bjorn Andersson
Date: Mon Jul 17 2023 - 17:23:21 EST


On Wed, Jul 12, 2023 at 07:18:12AM +0530, Satya Priya Kakitapalli wrote:
> From: Taniya Das <quic_tdas@xxxxxxxxxxx>
>
> If rcg is in disabled state when clk_rcg2_shared_set_rate is called, the
> new configuration is written to the configuration register but it won't be
> effective in h/w yet because update bit won't be set if rcg is in disabled
> state.

Does this take commit '703db1f5da1e ("clk: qcom: rcg2: Cache CFG
register updates for parked RCGs")', which was merged in v5.19, into
consideration?

> Since the new configuration is not yet updated in h/w, dirty bit of
> configuration register will be set in such case. Clear the dirty bit and
> update the rcg to proper new configuration by setting the update bit before
> enabling the rcg.
>

For a shared rcg2, which was updated while disabled, updates will be
carried in the "parked_cfg" variable and the RCG_CFG will be stale so
invoking update_config() should lead to exactly the problem you describe
fixing here.

Perhaps I'm missing something here, can you please confirm that this has
been validated on a recent upstream kernel?

> Signed-off-by: Taniya Das <quic_tdas@xxxxxxxxxxx>
> ---
> Resending this patch as there is no review for 2 months.
>

Thanks for bumping the discussion.

Regards,
Bjorn