Re: [PATCH] clk: qcom: smd-rpm: Skip proxy votes on clocks for QCM2290

From: Imran Shaik

Date: Thu Sep 24 2026 - 05:34:08 EST




On 21-09-2026 02:23 pm, Konrad Dybcio wrote:
On 9/16/26 1:05 PM, Imran Shaik wrote:


On 11-09-2026 02:36 pm, Konrad Dybcio wrote:
On 9/10/26 3:44 PM, Imran Shaik wrote:
clk_smd_rpm_handoff() votes both active and sleep RPM resource states for
every clock, keeping them non-zero until a consumer takes over. If there
is no consumer, those clocks will remain active in the idle scenario as
well, and the sleep vote is never cleared, blocking XO shutdown.

Introduce the skip_clks_handoff flag to handle this on QCM2290 clocks,
keeping other targets unaffected.

Fixes: 00f64b58874e ("clk: qcom: Add support for SMD-RPM Clocks")
Signed-off-by: Imran Shaik <imran.shaik@xxxxxxxxxxxxxxxx>
---

Are you booting with clk_ignore_unused?


No Konrad, clk_ignore_unused is not present.

Irrespective of clk_ignore_unused, the proxy votes are placed to RPM
during handoff. If no consumer takes over, those votes remain active,
keeping the resource ON in idle and preventing XO shutdown.

I re-read this and yeah you're right

Is the handoff functionality necessary at all for non-icc clocks?

Actually, if any consumers surviving on these proxy votes on other
targets as of today, removing the handoff logic could impact boot-up as
well. Hence, introduced the skip_clk_handoff flag to maintain backward
compatibility on other targets.

Thanks,
Imran

I'm suspecting that this was just a port of the ancient msm-3.10
logic where the (modified) clock framework had a handoff mechanism
similar to today's sync_state, except the toning-down of these
clocks was never added

Konrad