mbox series

[GIT,PULL] Qualcomm clock driver updates for v6.3

Message ID 20230222153253.3105863-1-andersson@kernel.org (mailing list archive)
State Accepted, archived
Headers show
Series [GIT,PULL] Qualcomm clock driver updates for v6.3 | expand

Pull-request

https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git tags/qcom-clk-for-6.3-2

Message

Bjorn Andersson Feb. 22, 2023, 3:32 p.m. UTC
The following changes since commit 1b929c02afd37871d5afb9d498426f83432e71c2:

  Linux 6.2-rc1 (2022-12-25 13:41:39 -0800)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git tags/qcom-clk-for-6.3-2

for you to fetch changes up to c1855dd0a62b7ead360eb9231fb65c2108efaf47:

  clk: qcom: Revert sync_state based clk_disable_unused (2023-02-22 06:34:08 -0800)

----------------------------------------------------------------
Qualcomm clock driver updates for v6.3

Support for requesting the next power_off operation for a genpd to be
synchronous is introduced, and implemented in the GDSC driver. To allow
the GPU driver to request power_off to wait for the GDSC to actually
collapse.

Support for QDU1000/QRU1000 Global clock controller, SA8775P Global
clock controller, SM8550 TCSR and display clock controller, SM6350 clock
controller, nd MSM8996 CBF and APCS clock controllers is introduced..

Parent references are updated across a large number of clock drivers, to
align with the design changes since those drivers where introduced.
Similarly, test clocks has been dropped from a range of drivers.

A range of fixes for the MSM8996 CPU clock controller is introduced.

MSM8974 GCC is transitioned off the externally defined sleep_clk.

GDSC in the global clock controller for QCS404 is added, and various
parent definitions are cleaned up.

The SDCC core clocks on SM6115 are moved for floor_ops.

Programming of clk_dis_wait for GPU CX GDSC on SC7180 and SDM845 are
moved to use the recently introduced properties in the GDSC struct.

The RPMh clock driver gains SM8550 and SA8775P clocks, and the IPA clock
is added on a variety of platforms.

The SMD RPM driver receives a big cleanup, in particular a move away
from duplicating declaration of identical clocks between multiple
platforms.
A few missing clocks across msm8998, msm8992, msm8916, qcs404 are added
as well.

Using devm_pm_runtime_enable() to clean up some duplication is done
across SM8250 display and video clock controllers, SM8450 display clock
controller and SC7280 LPASS clock controller.

Devicetree binding changes for above mentioned additions and changes are
introduced.

Support for postponing clk_disable_unused() until sync_state was
introduced, but later reverted again, awaiting an agreement on the
solution.

Lastly, a change to pad a few registers in the SM8250 DTS to 8 digits
was picked up in the wrong tree and kept here, to avoid rebasing.

----------------------------------------------------------------
Abel Vesa (7):
      dt-bindings: clock: Add SM8550 TCSR CC clocks
      dt-bindings: clock: Add RPMHCC for SM8550
      clk: qcom: rpmh: Add support for SM8550 rpmh clocks
      clk: qcom: Add TCSR clock driver for SM8550
      clk: Add generic sync_state callback for disabling unused clocks
      clk: qcom: sdm845: Use generic clk_sync_state_disable_unused callback
      dt-bindings: clock: Add SM8550 TCSR CC clocks

Akhil P Oommen (1):
      clk: qcom: gdsc: Support 'synced_poweroff' genpd flag

Arnd Bergmann (2):
      clk: qcom: rpmh: remove duplicate IPA clock reference
      clk: qcom: gcc-qcs404: fix duplicate initializer warning

Bartosz Golaszewski (5):
      dt-bindings: clock: qcom-rpmhcc: document the clock for sa8775p
      clk: qcom: rpmh: add clocks for sa8775p
      dt-bindings: clock: Add Qualcomm SA8775P GCC
      clk: qcom: gcc-sa8775p: remove unused variables
      dt-bindings: clock: qcom,sa8775p-gcc: add the power-domains property

Bjorn Andersson (6):
      Merge tag '1672656511-1931-1-git-send-email-quic_akhilpo@quicinc.com' into clk-for-6.3
      Merge branch '20230104093450.3150578-2-abel.vesa@linaro.org' into clk-for-6.3
      clk: qcom: Remove need for clk_ignore_unused on sc8280xp
      Merge branch '20230103-topic-sm8550-upstream-dispcc-v3-1-8a03d348c572@linaro.org' into clk-for-6.3
      Merge branch '20230112204446.30236-2-quic_molvera@quicinc.com' into HEAD
      clk: qcom: Revert sync_state based clk_disable_unused

Bryan O'Donoghue (1):
      clk: qcom: smd-rpm: msm8936: Add PMIC gated RPM_SMD_XO_*

Dmitry Baryshkov (100):
      dt-bindings: clock: qcom: gcc-qcs404: add two GDSC entries
      dt-bindings: clock: qcom: gcc-qcs404: switch to gcc.yaml
      dt-bindings: clock: qcom: gcc-qcs404: define clocks/clock-names for QCS404
      clk: qcom: gcc-qcs404: use ARRAY_SIZE instead of specifying num_parents
      clk: qcom: gcc-qcs404: disable gpll[04]_out_aux parents
      clk: qcom: gcc-qcs404: fix names of the DSI clocks used as parents
      clk: qcom: gcc-qcs404: fix the name of the HDMI PLL clock
      clk: qcom: gcc-qcs404: get rid of the test clock
      clk: qcom: gcc-qcs404: move PLL clocks up
      clk: qcom: gcc-qcs404: use parent_hws/_data instead of parent_names
      clk: qcom: gcc-qcs404: sort out the cxo clock
      clk: qcom: gcc-qcs404: add support for GDSCs
      dt-bindings: clocks: qcom: rpmcc: add LN_BB_CLK_PIN clocks
      clk: qcom: smd-rpm: enable pin-controlled ln_bb_clk clocks on qcs404
      clk: qcom: smd-rpm: remove duplication between MMXI and MMAXI defines
      clk: qcom: smd-rpm: remove duplication between qcs404 and qcm2290 clocks
      clk: qcom: smd-rpm: add missing ln_bb_clkN clocks
      clk: qcom: smd-rpm: use msm8998_ln_bb_clk2 for qcm2290 SoC
      clk: qcom: smd-rpm: rename msm8992_ln_bb_* clocks to qcs404_ln_bb_*
      clk: qcom: smd-rpm: remove duplication between sm6375 and sm6125 clocks
      clk: qcom: smd-rpm: add XO_BUFFER clock for each XO_BUFFER_PINCTRL clock
      clk: qcom: smd-rpm: drop the rpm_status_id field
      clk: qcom: smd-rpm: fix alignment of line breaking backslashes
      clk: qcom: smd-rpm: move clock definitions together
      clk: qcom: smd-rpm: rename some msm8974 active-only clocks
      clk: qcom: smd-rpm: simplify XO_BUFFER clocks definitions
      clk: qcom: smd-rpm: simplify SMD_RPM/_BRANCH/_QDSS clock definitions
      clk: qcom: smd-rpm: rename SMD_RPM_BRANCH clock symbols
      clk: qcom: smd-rpm: rename the qcm2290 rf_clk3 clocks
      clk: qcom: smd-rpm: rename SMD_RPM_BUS clocks
      clk: qcom: smd-rpm: remove usage of platform name
      clk: qcom: dispcc-sm8450: switch to parent_hws
      clk: qcom: dispcc-sc7180: switch to parent_hws
      clk: qcom: dispcc-sm6375: switch to parent_hws
      clk: qcom: camcc-sc7280: switch to parent_hws
      clk: qcom: camcc-sm8450: switch to parent_hws
      clk: qcom: gcc-msm8939: switch to parent_hws
      clk: qcom: gcc-msm8976: switch to parent_hws
      clk: qcom: gcc-sc7180: switch to parent_hws
      clk: qcom: gcc-sc7280: switch to parent_hws
      clk: qcom: gcc-sdx65: switch to parent_hws
      clk: qcom: gcc-sm6375: switch to parent_hws
      clk: qcom: gcc-sm8250: switch to parent_hws
      clk: qcom: gcc-sm8450: switch to parent_hws
      clk: qcom: gcc-sm8550: switch to parent_hws
      clk: qcom: gpucc-msm8998: switch to parent_hws
      clk: qcom: gpucc-sc7180: switch to parent_hws
      clk: qcom: lpasscc-sc7180: switch to parent_hws
      clk: qcom: dispcc-sm8250: switch to devm_pm_runtime_enable
      clk: qcom: dispcc-sm8450: switch to devm_pm_runtime_enable
      clk: qcom: lpasscc-sc7280: switch to devm_pm_runtime_enable
      clk: qcom: videocc-sm8250: switch to devm_pm_runtime_enable
      clk: qcom: dispcc-sm6115: use parent_hws for disp_cc_mdss_rot_clk
      clk: qcom: gcc-sm6375: use parent_hws for gcc_disp_gpll0_div_clk_src
      clk: qcom: clk-spmi-pmic-div: convert to use parent_data
      dt-bindings: clock: qcom,gcc-msm8998: drop core_bi_pll_test_se
      dt-bindings: clock: qcom,gcc-sdx55: drop core_bi_pll_test_se
      dt-bindings: clock: qcom,gcc-sdx65: drop core_bi_pll_test_se
      dt-bindings: clock: qcom,mmcc-msm8998: drop core_bi_pll_test_se
      dt-bindings: clock: qcom: gcc-sm8350: drop test clock
      dt-bindings: clock: qcom: gcc-sm8450: drop test clock
      clk: qcom: dispcc-qcm2290: get rid of test clock
      clk: qcom: gcc-msm8998: get rid of test clock
      clk: qcom: gcc-sc7180: get rid of test clock
      clk: qcom: gcc-sdx55: use ARRAY_SIZE instead of specifying num_parents
      clk: qcom: gcc-sdx55: get rid of test clock
      clk: qcom: mmcc-msm8998: get rid of test clock
      clk: qcom: gcc-msm8974: switch from sleep_clk_src to sleep_clk
      clk: qcom: rpmh: define IPA clocks where required
      dt-bindings: clock: qcom,gcc-apq8084: define clocks/clock-names
      dt-bindings: clock: qcom,gcc-apq8084: add GCC_MMSS_GPLL0_CLK_SRC
      dt-bindings: clock: qcom,mmcc: define clocks/clock-names for APQ8084
      clk: qcom: gcc-apq8084: use ARRAY_SIZE instead of specifying num_parents
      clk: qcom: gcc-apq8084: move PLL clocks up
      clk: qcom: gcc-apq8084: use parent_hws/_data instead of parent_names
      clk: qcom: gcc-apq8084: add GCC_MMSS_GPLL0_CLK_SRC
      clk: qcom: mmcc-apq8084: use ARRAY_SIZE instead of specifying num_parents
      clk: qcom: mmcc-apq8084: move clock parent tables down
      clk: qcom: mmcc-apq8084: remove spdm clocks
      clk: qcom: mmcc-apq8084: use parent_hws/_data instead of parent_names
      dt-bindings: clock: qcom,msm8996-apcc: add sys_apcs_aux clock
      clk: qcom: clk-alpha-pll: program PLL_TEST/PLL_TEST_U if required
      clk: qcom: cpu-8996: correct PLL programming
      clk: qcom: cpu-8996: fix the init clock rate
      clk: qcom: cpu-8996: support using GPLL0 as SMUX input
      clk: qcom: cpu-8996: skip ACD init if the setup is valid
      clk: qcom: cpu-8996: simplify the cpu_clk_notifier_cb
      clk: qcom: cpu-8996: setup PLLs before registering clocks
      clk: qcom: cpu-8996: move qcom_cpu_clk_msm8996_acd_init call
      clk: qcom: cpu-8996: fix PLL configuration sequence
      clk: qcom: cpu-8996: fix ACD initialization
      clk: qcom: cpu-8996: fix PLL clock ops
      clk: qcom: cpu-8996: change setup sequence to follow vendor kernel
      clk: qcom: add the driver for the MSM8996 APCS clocks
      dt-bindings: clock: qcom,msm8996-cbf: Describe the MSM8996 CBF clock controller
      clk: qcom: add msm8996 Core Bus Framework (CBF) support
      clk: qcom: smd-rpm: provide RPM_SMD_XO_CLK_SRC on MSM8996 platform
      clk: qcom: gpucc-sc7180: fix clk_dis_wait being programmed for CX GDSC
      clk: qcom: gpucc-sdm845: fix clk_dis_wait being programmed for CX GDSC
      dt-bindings: clock: Merge qcom,gpucc-sm8350 into qcom,gpucc.yaml

Konrad Dybcio (5):
      clk: qcom: gcc-sm6115: Use floor_ops for SDCC1/2 core clk
      dt-bindings: clock: add QCOM SM6350 camera clock bindings
      clk: qcom: Add camera clock controller driver for SM6350
      arm64: dts: qcom: sm8250: Pad addresses to 8 hex digits
      clk: qcom: camcc-sm6350: Make camcc_sm6350_hws static

Krzysztof Kozlowski (8):
      dt-bindings: clock: qcom,gcc-sc8280xp: document power domain
      dt-bindings: clock: qcom,spmi-clkdiv: convert to DT schema
      dt-bindings: clock: qcom,gcc-sm8350: drop core_bi_pll_test_se input
      clk: gcc-sm8150: drop PLL test clock
      clk: gcc-sm8350: drop PLL test clock
      dt-bindings: clock: qcom,videocc: correct clocks per variant
      dt-bindings: clock: qcom,camcc-sm8250: extend clocks and power domains
      clk: qcom: cpu-8996: add missing cputype include

Marijn Suijten (1):
      clk: qcom: dispcc-sm6125: Fix compatible string to match bindings

Melody Olvera (1):
      dt-bindings: clock: Add QDU1000 and QRU1000 GCC clocks

Neil Armstrong (4):
      dt-bindings: clock: document SM8550 DISPCC clock controller
      clk: qcom: clk-alpha-pll: define alias of LUCID OLE reset ops to EVO reset ops
      clk: qcom: add SM8550 DISPCC driver
      dt-bindings: clock: document SM8550 DISPCC clock controller

Robert Marko (1):
      clk: qcom: ipq8074: populate fw_name for usb3phy-s

Shazad Hussain (1):
      clk: qcom: add the GCC driver for sa8775p

Taniya Das (1):
      clk: qcom: Add QDU1000 and QRU1000 GCC support

Ulf Hansson (1):
      PM: domains: Allow a genpd consumer to require a synced power off

Yang Yingliang (1):
      clk: qcom: krait-cc: fix wrong pointer passed to IS_ERR()

 .../bindings/clock/qcom,camcc-sm8250.yaml          |   20 +-
 .../bindings/clock/qcom,gcc-apq8084.yaml           |   44 +
 .../bindings/clock/qcom,gcc-msm8998.yaml           |    6 +-
 .../devicetree/bindings/clock/qcom,gcc-qcs404.yaml |   38 +-
 .../bindings/clock/qcom,gcc-sc8280xp.yaml          |    7 +
 .../devicetree/bindings/clock/qcom,gcc-sdx55.yaml  |    9 +-
 .../devicetree/bindings/clock/qcom,gcc-sdx65.yaml  |    8 +-
 .../devicetree/bindings/clock/qcom,gcc-sm8350.yaml |    2 -
 .../bindings/clock/qcom,gpucc-sm8350.yaml          |   71 -
 .../devicetree/bindings/clock/qcom,gpucc.yaml      |    2 +
 .../devicetree/bindings/clock/qcom,mmcc.yaml       |   46 +-
 .../bindings/clock/qcom,msm8996-apcc.yaml          |    6 +-
 .../bindings/clock/qcom,msm8996-cbf.yaml           |   53 +
 .../bindings/clock/qcom,qdu1000-gcc.yaml           |   51 +
 .../devicetree/bindings/clock/qcom,rpmhcc.yaml     |    2 +
 .../bindings/clock/qcom,sa8775p-gcc.yaml           |   84 +
 .../bindings/clock/qcom,sm6350-camcc.yaml          |   49 +
 .../bindings/clock/qcom,sm8550-dispcc.yaml         |  105 +
 .../bindings/clock/qcom,sm8550-tcsr.yaml           |   55 +
 .../devicetree/bindings/clock/qcom,spmi-clkdiv.txt |   59 -
 .../bindings/clock/qcom,spmi-clkdiv.yaml           |   71 +
 .../devicetree/bindings/clock/qcom,videocc.yaml    |   59 +-
 arch/arm64/boot/dts/qcom/sm8250.dtsi               |    8 +-
 drivers/base/power/domain.c                        |   26 +
 drivers/clk/qcom/Kconfig                           |   40 +
 drivers/clk/qcom/Makefile                          |    7 +-
 drivers/clk/qcom/apcs-msm8996.c                    |   88 +
 drivers/clk/qcom/camcc-sc7280.c                    |  268 +-
 drivers/clk/qcom/camcc-sm6350.c                    | 1906 ++++++++
 drivers/clk/qcom/camcc-sm8450.c                    |  324 +-
 drivers/clk/qcom/clk-alpha-pll.c                   |    5 +
 drivers/clk/qcom/clk-alpha-pll.h                   |    1 +
 drivers/clk/qcom/clk-cbf-8996.c                    |  315 ++
 drivers/clk/qcom/clk-cpu-8996.c                    |  146 +-
 drivers/clk/qcom/clk-rpmh.c                        |   56 +
 drivers/clk/qcom/clk-smd-rpm.c                     | 1445 +++---
 drivers/clk/qcom/clk-spmi-pmic-div.c               |   10 +-
 drivers/clk/qcom/dispcc-qcm2290.c                  |    6 -
 drivers/clk/qcom/dispcc-sc7180.c                   |    8 +-
 drivers/clk/qcom/dispcc-sm6115.c                   |    4 +-
 drivers/clk/qcom/dispcc-sm6125.c                   |    2 +-
 drivers/clk/qcom/dispcc-sm6375.c                   |    4 +-
 drivers/clk/qcom/dispcc-sm8250.c                   |    9 +-
 drivers/clk/qcom/dispcc-sm8450.c                   |  221 +-
 drivers/clk/qcom/dispcc-sm8550.c                   | 1807 ++++++++
 drivers/clk/qcom/gcc-apq8084.c                     | 1024 +++--
 drivers/clk/qcom/gcc-ipq8074.c                     |    4 +-
 drivers/clk/qcom/gcc-msm8939.c                     |   32 +-
 drivers/clk/qcom/gcc-msm8974.c                     |   10 +-
 drivers/clk/qcom/gcc-msm8976.c                     |   30 +-
 drivers/clk/qcom/gcc-msm8998.c                     |   13 -
 drivers/clk/qcom/gcc-qcs404.c                      |  842 ++--
 drivers/clk/qcom/gcc-qdu1000.c                     | 2653 +++++++++++
 drivers/clk/qcom/gcc-sa8775p.c                     | 4785 ++++++++++++++++++++
 drivers/clk/qcom/gcc-sc7180.c                      |   19 +-
 drivers/clk/qcom/gcc-sc7280.c                      |   10 +-
 drivers/clk/qcom/gcc-sdx55.c                       |   64 +-
 drivers/clk/qcom/gcc-sdx65.c                       |  109 +-
 drivers/clk/qcom/gcc-sm6115.c                      |    4 +-
 drivers/clk/qcom/gcc-sm6375.c                      |  257 +-
 drivers/clk/qcom/gcc-sm8150.c                      |   17 -
 drivers/clk/qcom/gcc-sm8250.c                      |   10 +-
 drivers/clk/qcom/gcc-sm8350.c                      |   15 -
 drivers/clk/qcom/gcc-sm8450.c                      |  236 +-
 drivers/clk/qcom/gcc-sm8550.c                      |  252 +-
 drivers/clk/qcom/gdsc.c                            |   11 +-
 drivers/clk/qcom/gpucc-msm8998.c                   |    8 +-
 drivers/clk/qcom/gpucc-sc7180.c                    |   11 +-
 drivers/clk/qcom/gpucc-sdm845.c                    |    7 +-
 drivers/clk/qcom/krait-cc.c                        |    4 +-
 drivers/clk/qcom/lpasscc-sc7280.c                  |   10 +-
 drivers/clk/qcom/lpasscorecc-sc7180.c              |   20 +-
 drivers/clk/qcom/mmcc-apq8084.c                    | 1189 ++---
 drivers/clk/qcom/mmcc-msm8998.c                    |   25 -
 drivers/clk/qcom/tcsrcc-sm8550.c                   |  192 +
 drivers/clk/qcom/videocc-sm8250.c                  |    9 +-
 include/dt-bindings/clock/qcom,gcc-apq8084.h       |    1 +
 include/dt-bindings/clock/qcom,gcc-qcs404.h        |    4 +
 include/dt-bindings/clock/qcom,gcc-sm8350.h        |    1 -
 include/dt-bindings/clock/qcom,gcc-sm8450.h        |    1 -
 include/dt-bindings/clock/qcom,qdu1000-gcc.h       |  175 +
 include/dt-bindings/clock/qcom,rpmcc.h             |    2 +
 include/dt-bindings/clock/qcom,sa8775p-gcc.h       |  320 ++
 include/dt-bindings/clock/qcom,sm6350-camcc.h      |  109 +
 include/dt-bindings/clock/qcom,sm8550-dispcc.h     |  101 +
 include/dt-bindings/clock/qcom,sm8550-tcsr.h       |   18 +
 include/linux/pm_domain.h                          |    5 +
 include/linux/soc/qcom/smd-rpm.h                   |    1 -
 88 files changed, 16475 insertions(+), 3688 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/clock/qcom,gpucc-sm8350.yaml
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,msm8996-cbf.yaml
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,sa8775p-gcc.yaml
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,sm6350-camcc.yaml
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,sm8550-dispcc.yaml
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,sm8550-tcsr.yaml
 delete mode 100644 Documentation/devicetree/bindings/clock/qcom,spmi-clkdiv.txt
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,spmi-clkdiv.yaml
 create mode 100644 drivers/clk/qcom/apcs-msm8996.c
 create mode 100644 drivers/clk/qcom/camcc-sm6350.c
 create mode 100644 drivers/clk/qcom/clk-cbf-8996.c
 create mode 100644 drivers/clk/qcom/dispcc-sm8550.c
 create mode 100644 drivers/clk/qcom/gcc-qdu1000.c
 create mode 100644 drivers/clk/qcom/gcc-sa8775p.c
 create mode 100644 drivers/clk/qcom/tcsrcc-sm8550.c
 create mode 100644 include/dt-bindings/clock/qcom,qdu1000-gcc.h
 create mode 100644 include/dt-bindings/clock/qcom,sa8775p-gcc.h
 create mode 100644 include/dt-bindings/clock/qcom,sm6350-camcc.h
 create mode 100644 include/dt-bindings/clock/qcom,sm8550-dispcc.h
 create mode 100644 include/dt-bindings/clock/qcom,sm8550-tcsr.h

Comments

Stephen Boyd Feb. 23, 2023, 6:56 p.m. UTC | #1
Quoting Bjorn Andersson (2023-02-22 07:32:53)
> The following changes since commit 1b929c02afd37871d5afb9d498426f83432e71c2:
> 
>   Linux 6.2-rc1 (2022-12-25 13:41:39 -0800)
> 
> are available in the Git repository at:
> 
>   https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git tags/qcom-clk-for-6.3-2
> 
> for you to fetch changes up to c1855dd0a62b7ead360eb9231fb65c2108efaf47:
> 
>   clk: qcom: Revert sync_state based clk_disable_unused (2023-02-22 06:34:08 -0800)
> 
> ----------------------------------------------------------------

Thanks. Pulled into clk-next