Re: [PATCH v11 0/6] Add interconnect driver for IPQ9574 SoC

From: Varadarajan Narayanan
Date: Sat May 04 2024 - 04:01:52 EST


Bjorn,

> On Tue, Apr 30, 2024 at 12:12:08PM +0530, Varadarajan Narayanan wrote:
> MSM platforms manage NoC related clocks and scaling from RPM.
> However, in IPQ SoCs, RPM is not involved in managing NoC
> related clocks and there is no NoC scaling.
>
> However, there is a requirement to enable some NoC interface
> clocks for the accessing the peripherals present in the
> system. Hence add a minimalistic interconnect driver that
> establishes a path from the processor/memory to those peripherals
> and vice versa.
>
> Change icc-clk driver to take master and slave ids instead
> of auto generating.
>
> Currently, drivers/clk/qcom/clk-cbf-8996.c is the only user of
> icc-clk. And, it had exactly one master and one slave node.
> For this the auto generated master (= 1) and slave (= 0) was
> enough.
>
> However, when drivers/clk/qcom/gcc-ipq9574.c wanted to make use
> of the icc-clk framework, it had more number of master and slave
> nodes and the auto generated ids did not suit the usage.
>
> ---
> v11: No code changes
> Commit log changed for the first patch
> Added Acked-By: to 3 patches

Can this be included in your driver changes for 6.10?

Thanks
Varada

> v10: Set gcc-ipq9574 driver's sync_state to icc_sync_state
> v9: Squash icc-clk driver change and cbf-msm8996 change
> Remove HWS_DATA macro
> v8: Change icc-clk driver to take master and slave ids instead
> of auto generating
> Remove ICC_xxx defines from dt-bindings header
> Define MASTER/SLAVE_xxx macros from 0 .. n
>
> v7: Fix macro names in dt-bindings header
> Do clock get in icc driver
>
> v6: Removed 'Reviewed-by: Krzysztof' from dt-bindings patch
> Remove clock get from ICC driver as suggested by Stephen Boyd
> so that the actual peripheral can do the clock get
> first_id -> icc_first_node_id
> Remove tristate from INTERCONNECT_CLK
> v5:
> Split gcc-ipq9574.c and common.c changes into separate patches
> Introduce devm_icc_clk_register
> Fix error handling
> v4:
> gcc-ipq9574.c
> Use clk_hw instead of indices
> common.c
> Do icc register in qcom_cc_probe() call stream
> common.h
> Add icc clock info to qcom_cc_desc structure
>
> v3:
> qcom,ipq9574.h
> Move 'first id' define to clock driver
> gcc-ipq9574.c:
> Use indexed identifiers here to avoid confusion
> Fix error messages and move code to common.c as it can be
> shared with future SoCs
>
> v2:
> qcom,ipq9574.h
> Fix license identifier
> Rename macros
> qcom,ipq9574-gcc.yaml
> Include interconnect-cells
> gcc-ipq9574.c
> Update commit log
> Remove IS_ENABLED(CONFIG_INTERCONNECT) and auto select it from Kconfig
> ipq9574.dtsi
> Moved to separate patch
> Include interconnect-cells to clock controller node
> drivers/clk/qcom/Kconfig:
> Auto select CONFIG_INTERCONNECT & CONFIG_INTERCONNECT_CLK
>
> Varadarajan Narayanan (6):
> interconnect: icc-clk: Specify master/slave ids
> dt-bindings: interconnect: Add Qualcomm IPQ9574 support
> interconnect: icc-clk: Add devm_icc_clk_register
> clk: qcom: common: Add interconnect clocks support
> clk: qcom: ipq9574: Use icc-clk for enabling NoC related clocks
> arm64: dts: qcom: ipq9574: Add icc provider ability to gcc
>
> .../bindings/clock/qcom,ipq9574-gcc.yaml | 3 +
> arch/arm64/boot/dts/qcom/ipq9574.dtsi | 2 +
> drivers/clk/qcom/Kconfig | 2 +
> drivers/clk/qcom/clk-cbf-8996.c | 7 ++-
> drivers/clk/qcom/common.c | 35 ++++++++++-
> drivers/clk/qcom/common.h | 9 +++
> drivers/clk/qcom/gcc-ipq9574.c | 33 +++++++++++
> drivers/interconnect/icc-clk.c | 24 +++++++-
> .../dt-bindings/interconnect/qcom,ipq9574.h | 59 +++++++++++++++++++
> include/linux/interconnect-clk.h | 4 ++
> 10 files changed, 173 insertions(+), 5 deletions(-)
> create mode 100644 include/dt-bindings/interconnect/qcom,ipq9574.h
>
> --
> 2.34.1
>