public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] Add explicit power-domain and clock voting for QCOM-ICE
@ 2026-01-23  7:11 Harshal Dev
  2026-01-23  7:11 ` [PATCH 01/11] dt-bindings: crypto: qcom,ice: Require power-domain and iface clk Harshal Dev
                   ` (10 more replies)
  0 siblings, 11 replies; 37+ messages in thread
From: Harshal Dev @ 2026-01-23  7:11 UTC (permalink / raw)
  To: Herbert Xu, David S. Miller, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
	cros-qcom-dts-watchers
  Cc: Brian Masney, Neeraj Soni, Gaurav Kashyap, linux-arm-msm,
	linux-crypto, devicetree, linux-kernel, Harshal Dev

When the kernel is booted without the 'clk_ignore_unused' command‑line
flag, votes for unused clocks and power domains are dropped by the kernel
post late_init and deferred probe timeout. Depending on the relative
timing between the ICE probe and the kernel disabling the unused clocks
and power domains occasional unclocked register accesses or 'stuck' clocks
are observed during QCOM‑ICE probe.
When the 'iface' clock is not voted on, unclocked register access would
be observed. On the other hand, if the associated power-domain for ICE
is not enabled, a 'stuck' clock is observed.

This patch series resolves both of these problems by adding explicit
power‑domain enablement and 'iface' clock‑vote handling to the QCOM‑ICE
driver.

The clock 'stuck' issue was first reported on Qualcomm RideSX4 (sa8775p)
platform: https://lore.kernel.org/all/ZZYTYsaNUuWQg3tR@x1/

Issue with unclocked ICE register access is easily reproducible on
on Qualcomm RB3Gen2 (kodiak) platform when 'clk_ignore_unused' is
not passed on the kernel command-line.

This patch series has been validated on: SM8650-MTP, RB3Gen2 and
Lemans-EVK.

Signed-off-by: Harshal Dev <harshal.dev@oss.qualcomm.com>
---
Harshal Dev (11):
      dt-bindings: crypto: qcom,ice: Require power-domain and iface clk
      arm64: dts: qcom: kaanpali: Add power-domain and iface clk for ice node
      arm64: dts: qcom: lemans: Add power-domain and iface clk for ice node
      arm64: dts: qcom: monaco: Add power-domain and iface clk for ice node
      arm64: dts: qcom: sc7180: Add power-domain and iface clk for ice node
      arm64: dts: qcom: kodiak: Add power-domain and iface clk for ice node
      arm64: dts: qcom: sm8450: Add power-domain and iface clk for ice node
      arm64: dts: qcom: sm8550: Add power-domain and iface clk for ice node
      arm64: dts: qcom: sm8650: Add power-domain and iface clk for ice node
      arm64: dts: qcom: sm8750: Add power-domain and iface clk for ice node
      soc: qcom: ice: Add explicit power-domain and clock voting calls for ICE

 .../bindings/crypto/qcom,inline-crypto-engine.yaml   | 14 +++++++++++++-
 arch/arm64/boot/dts/qcom/kaanapali.dtsi              |  6 +++++-
 arch/arm64/boot/dts/qcom/kodiak.dtsi                 |  6 +++++-
 arch/arm64/boot/dts/qcom/lemans.dtsi                 |  6 +++++-
 arch/arm64/boot/dts/qcom/monaco.dtsi                 |  6 +++++-
 arch/arm64/boot/dts/qcom/sc7180.dtsi                 |  6 +++++-
 arch/arm64/boot/dts/qcom/sm8450.dtsi                 |  6 +++++-
 arch/arm64/boot/dts/qcom/sm8550.dtsi                 |  6 +++++-
 arch/arm64/boot/dts/qcom/sm8650.dtsi                 |  6 +++++-
 arch/arm64/boot/dts/qcom/sm8750.dtsi                 |  6 +++++-
 drivers/soc/qcom/ice.c                               | 20 ++++++++++++++++++++
 11 files changed, 78 insertions(+), 10 deletions(-)
---
base-commit: 0f853ca2a798ead9d24d39cad99b0966815c582a
change-id: 20260120-qcom_ice_power_and_clk_vote-769704f5036a

Best regards,
-- 
Harshal Dev <hdev@qti.qualcomm.com>


^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2026-03-09 12:20 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-23  7:11 [PATCH 00/11] Add explicit power-domain and clock voting for QCOM-ICE Harshal Dev
2026-01-23  7:11 ` [PATCH 01/11] dt-bindings: crypto: qcom,ice: Require power-domain and iface clk Harshal Dev
2026-01-23  8:57   ` Krzysztof Kozlowski
2026-01-23 11:04     ` Harshal Dev
2026-01-26 10:29       ` Konrad Dybcio
2026-02-03  9:26         ` Harshal Dev
2026-02-05 11:17           ` Krzysztof Kozlowski
2026-02-06 10:07             ` Harshal Dev
2026-02-06 10:50               ` Krzysztof Kozlowski
2026-02-09  5:43                 ` Harshal Dev
2026-02-09  7:44                   ` Krzysztof Kozlowski
2026-02-20 14:31                   ` Manivannan Sadhasivam
2026-02-20 15:59                     ` Bjorn Andersson
2026-03-03  6:29                       ` Harshal Dev
2026-03-03 16:55                       ` Manivannan Sadhasivam
2026-01-23  7:11 ` [PATCH 02/11] arm64: dts: qcom: kaanpali: Add power-domain and iface clk for ice node Harshal Dev
2026-01-23  7:11 ` [PATCH 03/11] arm64: dts: qcom: lemans: " Harshal Dev
2026-01-23  7:11 ` [PATCH 04/11] arm64: dts: qcom: monaco: " Harshal Dev
2026-01-23  7:11 ` [PATCH 05/11] arm64: dts: qcom: sc7180: " Harshal Dev
2026-01-23  7:11 ` [PATCH 06/11] arm64: dts: qcom: kodiak: " Harshal Dev
2026-01-23  7:11 ` [PATCH 07/11] arm64: dts: qcom: sm8450: " Harshal Dev
2026-01-23  7:11 ` [PATCH 08/11] arm64: dts: qcom: sm8550: " Harshal Dev
2026-01-23  7:11 ` [PATCH 09/11] arm64: dts: qcom: sm8650: " Harshal Dev
2026-01-23  7:11 ` [PATCH 10/11] arm64: dts: qcom: sm8750: " Harshal Dev
2026-01-23  7:11 ` [PATCH 11/11] soc: qcom: ice: Add explicit power-domain and clock voting calls for ICE Harshal Dev
2026-01-23  8:58   ` Krzysztof Kozlowski
2026-01-23 10:57     ` Krzysztof Kozlowski
2026-01-23 11:12       ` Harshal Dev
2026-01-30 10:46         ` Konrad Dybcio
2026-02-03  9:31           ` Harshal Dev
2026-02-20 14:44   ` Manivannan Sadhasivam
2026-03-03  8:41     ` Harshal Dev
2026-03-03 17:08       ` Manivannan Sadhasivam
2026-03-09 11:59         ` Harshal Dev
2026-03-09 12:20           ` Manivannan Sadhasivam
2026-02-21 11:45   ` Abel Vesa
2026-03-03 11:13     ` Harshal Dev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox