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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux