mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 00/48] clk: qcom: Use common probe data for always-on clocks
@ 2026-09-24 12:06 Abel Vesa
  2026-09-24 12:06 ` [PATCH v2 01/48] clk: qcom: camcc-sa8775p: Use common probe handling " Abel Vesa
                   ` (48 more replies)
  0 siblings, 49 replies; 51+ messages in thread
From: Abel Vesa @ 2026-09-24 12:06 UTC (permalink / raw)
  To: Bjorn Andersson, Abel Vesa, Stephen Boyd, Brian Masney, Jerome Brunet
  Cc: linux-arm-msm, linux-clk, linux-kernel, Abel Vesa, Konrad Dybcio

Many Qualcomm clock controller drivers still enable always-on branches
with individual qcom_branch_set_clk_en() calls in their probe functions.
The common probe code already supports describing these register offsets
through the clk_cbcrs and num_clk_cbcrs fields of qcom_cc_driver_data.

Convert the remaining users of these direct calls to per-controller
critical_cbcrs arrays. This centralizes branch enable handling in the
common probe path and makes the always-on register lists easier to review
alongside the other controller data.

For GCC drivers, also describe DFS RCGs through the common driver data and
move auxiliary register programming into clk_regs_configure callbacks
where appropriate. Drivers whose initialization is fully covered by the
common path can then use qcom_cc_probe() directly. Keep device-specific
setup in the remaining probe functions, including the separate CBCR lists
needed by the SA8775P/QCS8300 camera and SM8350/SC8280XP video variants.

Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
Changes in v2:
- Rebased on next-20260923.
- Picked up Konrad's R-b tag for the entire series.
- Use the common alpha PLL configuration handling for GCC SM6375.
- Use regmap_set_bits() for the GPLL0 active-input configuration on SM8250.
- Link to v1: https://patch.msgid.link/20260916-clk-qcom-rework-legacy-always-on-clocks-v1-0-25a24e50f82a@oss.qualcomm.com

---
Abel Vesa (48):
      clk: qcom: camcc-sa8775p: Use common probe handling for always-on clocks
      clk: qcom: camcc-sc8280xp: Use common probe handling for always-on clocks
      clk: qcom: camcc-sm7150: Use common probe handling for always-on clocks
      clk: qcom: camcc-sm8150: Use common probe handling for always-on clocks
      clk: qcom: dispcc-sc7280: Use common probe handling for always-on clocks
      clk: qcom: dispcc-sc8280xp: Use common probe handling for always-on clocks
      clk: qcom: dispcc-sm4450: Use common probe handling for always-on clocks
      clk: qcom: dispcc-sm6115: Use common probe handling for always-on clocks
      clk: qcom: dispcc-sm7150: Use common probe handling for always-on clocks
      clk: qcom: dispcc-sm8250: Use common probe handling for always-on clocks
      clk: qcom: dispcc-sm8550: Use common probe handling for always-on clocks
      clk: qcom: dispcc-sm8750: Use common probe handling for always-on clocks
      clk: qcom: dispcc-x1e80100: Use common probe handling for always-on clocks
      clk: qcom: dispcc0-sa8775p: Use common probe handling for always-on clocks
      clk: qcom: dispcc1-sa8775p: Use common probe handling for always-on clocks
      clk: qcom: gcc-qcs615: Use common clock controller probe data
      clk: qcom: gcc-qcs8300: Use common clock controller probe data
      clk: qcom: gcc-sa8775p: Use common clock controller probe data
      clk: qcom: gcc-sar2130p: Use common clock controller probe data
      clk: qcom: gcc-sc7180: Use common clock controller probe data
      clk: qcom: gcc-sc7280: Use common clock controller probe data
      clk: qcom: gcc-sc8280xp: Use common clock controller probe data
      clk: qcom: gcc-sdx55: Use common clock controller probe data
      clk: qcom: gcc-sdx65: Use common clock controller probe data
      clk: qcom: gcc-sdx75: Use common clock controller probe data
      clk: qcom: gcc-sm4450: Use common clock controller probe data
      clk: qcom: gcc-sm6375: Use common clock controller probe data
      clk: qcom: gcc-sm7150: Use common clock controller probe data
      clk: qcom: gcc-sm8250: Use common clock controller probe data
      clk: qcom: gcc-sm8350: Use common clock controller probe data
      clk: qcom: gcc-sm8450: Use common clock controller probe data
      clk: qcom: gcc-sm8550: Use common clock controller probe data
      clk: qcom: gcc-sm8650: Use common clock controller probe data
      clk: qcom: gcc-sm8750: Use common clock controller probe data
      clk: qcom: gcc-x1e80100: Use common clock controller probe data
      clk: qcom: gpucc-sar2130p: Use common probe handling for always-on clocks
      clk: qcom: gpucc-sc7280: Use common probe handling for always-on clocks
      clk: qcom: gpucc-sc8280xp: Use common probe handling for always-on clocks
      clk: qcom: gpucc-sm4450: Use common probe handling for always-on clocks
      clk: qcom: gpucc-sm8550: Use common probe handling for always-on clocks
      clk: qcom: gpucc-x1e80100: Use common probe handling for always-on clocks
      clk: qcom: gpucc-x1p42100: Use common probe handling for always-on clocks
      clk: qcom: lpasscorecc-sc7180: Use common probe handling for always-on clocks
      clk: qcom: videocc-sa8775p: Use common probe handling for always-on clocks
      clk: qcom: videocc-sm6350: Use common probe handling for always-on clocks
      clk: qcom: videocc-sm7150: Use common probe handling for always-on clocks
      clk: qcom: videocc-sm8250: Use common probe handling for always-on clocks
      clk: qcom: videocc-sm8350: Use common probe handling for always-on clocks

 drivers/clk/qcom/camcc-sa8775p.c      | 36 ++++++++++++-----
 drivers/clk/qcom/camcc-sc8280xp.c     | 13 ++++--
 drivers/clk/qcom/camcc-sm7150.c       | 13 ++++--
 drivers/clk/qcom/camcc-sm8150.c       | 13 ++++--
 drivers/clk/qcom/dispcc-sc7280.c      | 13 ++++--
 drivers/clk/qcom/dispcc-sc8280xp.c    | 18 ++++++---
 drivers/clk/qcom/dispcc-sm4450.c      | 15 +++++--
 drivers/clk/qcom/dispcc-sm6115.c      | 13 ++++--
 drivers/clk/qcom/dispcc-sm7150.c      | 13 ++++--
 drivers/clk/qcom/dispcc-sm8250.c      | 13 ++++--
 drivers/clk/qcom/dispcc-sm8550.c      | 13 ++++--
 drivers/clk/qcom/dispcc-sm8750.c      | 19 ++++++---
 drivers/clk/qcom/dispcc-x1e80100.c    | 15 +++++--
 drivers/clk/qcom/dispcc0-sa8775p.c    | 15 +++++--
 drivers/clk/qcom/dispcc1-sa8775p.c    | 15 +++++--
 drivers/clk/qcom/gcc-qcs615.c         | 57 +++++++++++++-------------
 drivers/clk/qcom/gcc-qcs8300.c        | 51 +++++++++++------------
 drivers/clk/qcom/gcc-sa8775p.c        | 55 ++++++++++++-------------
 drivers/clk/qcom/gcc-sar2130p.c       | 45 +++++++++++----------
 drivers/clk/qcom/gcc-sc7180.c         | 60 +++++++++++++--------------
 drivers/clk/qcom/gcc-sc7280.c         | 54 +++++++++++++------------
 drivers/clk/qcom/gcc-sc8280xp.c       | 35 +++++++++-------
 drivers/clk/qcom/gcc-sdx55.c          | 31 ++++++++------
 drivers/clk/qcom/gcc-sdx65.c          | 31 ++++++++------
 drivers/clk/qcom/gcc-sdx75.c          | 31 +++++++-------
 drivers/clk/qcom/gcc-sm4450.c         | 64 ++++++++++++++++-------------
 drivers/clk/qcom/gcc-sm6375.c         | 46 +++++++++++----------
 drivers/clk/qcom/gcc-sm7150.c         | 60 +++++++++++++--------------
 drivers/clk/qcom/gcc-sm8250.c         | 57 +++++++++++++-------------
 drivers/clk/qcom/gcc-sm8350.c         | 52 ++++++++++++------------
 drivers/clk/qcom/gcc-sm8450.c         | 51 +++++++++++------------
 drivers/clk/qcom/gcc-sm8550.c         | 57 +++++++++++++-------------
 drivers/clk/qcom/gcc-sm8650.c         | 59 ++++++++++++++-------------
 drivers/clk/qcom/gcc-sm8750.c         | 76 +++++++++++++++--------------------
 drivers/clk/qcom/gcc-x1e80100.c       | 61 ++++++++++++++--------------
 drivers/clk/qcom/gpucc-sar2130p.c     | 13 ++++--
 drivers/clk/qcom/gpucc-sc7280.c       | 22 +++++++---
 drivers/clk/qcom/gpucc-sc8280xp.c     | 15 +++++--
 drivers/clk/qcom/gpucc-sm4450.c       | 17 +++++---
 drivers/clk/qcom/gpucc-sm8550.c       | 15 +++++--
 drivers/clk/qcom/gpucc-x1e80100.c     | 13 ++++--
 drivers/clk/qcom/gpucc-x1p42100.c     | 17 +++++---
 drivers/clk/qcom/lpasscorecc-sc7180.c | 31 +++++++++-----
 drivers/clk/qcom/videocc-sa8775p.c    | 17 +++++---
 drivers/clk/qcom/videocc-sm6350.c     | 13 ++++--
 drivers/clk/qcom/videocc-sm7150.c     | 13 ++++--
 drivers/clk/qcom/videocc-sm8250.c     | 15 +++++--
 drivers/clk/qcom/videocc-sm8350.c     | 31 ++++++++++----
 48 files changed, 873 insertions(+), 629 deletions(-)
---
base-commit: 4d7e75152b01862a4ec598435d79a81c4b254dd6
change-id: 20260916-clk-qcom-rework-legacy-always-on-clocks-8be60886f844
prerequisite-change-id: 20260916-clk-qcom-gcc-qcs615-fix-cpuss-gnoc-offset-272641a49214:v2
prerequisite-patch-id: eb58e7f69eb18fb6f7d490e8094d8a3f2c0d0b2f

Best regards,
--  
Abel Vesa <abel.vesa@oss.qualcomm.com>


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

end of thread, other threads:[~2026-09-25 16:43 UTC | newest]

Thread overview: 51+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-24 12:06 [PATCH v2 00/48] clk: qcom: Use common probe data for always-on clocks Abel Vesa
2026-09-24 12:06 ` [PATCH v2 01/48] clk: qcom: camcc-sa8775p: Use common probe handling " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 02/48] clk: qcom: camcc-sc8280xp: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 03/48] clk: qcom: camcc-sm7150: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 04/48] clk: qcom: camcc-sm8150: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 05/48] clk: qcom: dispcc-sc7280: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 06/48] clk: qcom: dispcc-sc8280xp: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 07/48] clk: qcom: dispcc-sm4450: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 08/48] clk: qcom: dispcc-sm6115: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 09/48] clk: qcom: dispcc-sm7150: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 10/48] clk: qcom: dispcc-sm8250: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 11/48] clk: qcom: dispcc-sm8550: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 12/48] clk: qcom: dispcc-sm8750: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 13/48] clk: qcom: dispcc-x1e80100: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 14/48] clk: qcom: dispcc0-sa8775p: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 15/48] clk: qcom: dispcc1-sa8775p: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 16/48] clk: qcom: gcc-qcs615: Use common clock controller probe data Abel Vesa
2026-09-24 12:06 ` [PATCH v2 17/48] clk: qcom: gcc-qcs8300: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 18/48] clk: qcom: gcc-sa8775p: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 19/48] clk: qcom: gcc-sar2130p: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 20/48] clk: qcom: gcc-sc7180: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 21/48] clk: qcom: gcc-sc7280: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 22/48] clk: qcom: gcc-sc8280xp: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 23/48] clk: qcom: gcc-sdx55: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 24/48] clk: qcom: gcc-sdx65: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 25/48] clk: qcom: gcc-sdx75: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 26/48] clk: qcom: gcc-sm4450: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 27/48] clk: qcom: gcc-sm6375: " Abel Vesa
2026-09-25 16:43   ` Bjorn Andersson
2026-09-24 12:06 ` [PATCH v2 28/48] clk: qcom: gcc-sm7150: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 29/48] clk: qcom: gcc-sm8250: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 30/48] clk: qcom: gcc-sm8350: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 31/48] clk: qcom: gcc-sm8450: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 32/48] clk: qcom: gcc-sm8550: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 33/48] clk: qcom: gcc-sm8650: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 34/48] clk: qcom: gcc-sm8750: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 35/48] clk: qcom: gcc-x1e80100: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 36/48] clk: qcom: gpucc-sar2130p: Use common probe handling for always-on clocks Abel Vesa
2026-09-24 12:06 ` [PATCH v2 37/48] clk: qcom: gpucc-sc7280: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 38/48] clk: qcom: gpucc-sc8280xp: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 39/48] clk: qcom: gpucc-sm4450: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 40/48] clk: qcom: gpucc-sm8550: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 41/48] clk: qcom: gpucc-x1e80100: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 42/48] clk: qcom: gpucc-x1p42100: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 43/48] clk: qcom: lpasscorecc-sc7180: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 44/48] clk: qcom: videocc-sa8775p: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 45/48] clk: qcom: videocc-sm6350: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 46/48] clk: qcom: videocc-sm7150: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 47/48] clk: qcom: videocc-sm8250: " Abel Vesa
2026-09-24 12:07 ` [PATCH v2 48/48] clk: qcom: videocc-sm8350: " Abel Vesa
2026-09-25 16:43 ` [PATCH v2 00/48] clk: qcom: Use common probe data " Bjorn Andersson

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

all inboxes | Powered by JetHome®