This series adds a driver for interconnects on MSM8996. This fixes some rare display underflows and provides a slight heat reduction. The driver currently supports all NoCs on MSM8996 except a0noc, due to some issues with writing to its registers. Changes since v3: - Expand DEFINE_QNODE macros in msm8996.c. - Commonize probe function. - Don't rename qcom_icc_set in icc-rpmh since it's no longer needed. - Code style fixes. Changes since v2: - Dual-license qcom,msm8996.h and move it to the dt bindings patch - Remove interconnect paths from CPUs since cpufreq driver doesn't support icc scaling yet. Changes since v1: - Split first patch into 2 patches, one for renaming qcom_icc_set in icc-rpmh, and another one for the actual commonization. - Revert unnecessary move of include line in sdm660.c Yassine Oudjana (5): interconnect: qcom: sdm660: Commonize RPM-QoS dt-bindings: interconnect: Move SDM660 to a new RPM-QoS file dt-bindings: interconnect: Add Qualcomm MSM8996 DT bindings interconnect: qcom: Add MSM8996 interconnect provider driver arm64: dts: qcom: msm8996: Add interconnect support .../{qcom,sdm660.yaml => qcom,rpm-qos.yaml} | 23 +- arch/arm64/boot/dts/qcom/msm8996.dtsi | 80 + drivers/interconnect/qcom/Kconfig | 14 +- drivers/interconnect/qcom/Makefile | 4 + drivers/interconnect/qcom/icc-rpm-qos.c | 358 +++ drivers/interconnect/qcom/icc-rpm-qos.h | 135 + drivers/interconnect/qcom/msm8996.c | 2781 +++++++++++++++++ drivers/interconnect/qcom/msm8996.h | 149 + drivers/interconnect/qcom/sdm660.c | 487 +-- .../dt-bindings/interconnect/qcom,msm8996.h | 163 + 10 files changed, 3725 insertions(+), 469 deletions(-) rename Documentation/devicetree/bindings/interconnect/{qcom,sdm660.yaml => qcom,rpm-qos.yaml} (82%) create mode 100644 drivers/interconnect/qcom/icc-rpm-qos.c create mode 100644 drivers/interconnect/qcom/icc-rpm-qos.h create mode 100644 drivers/interconnect/qcom/msm8996.c create mode 100644 drivers/interconnect/qcom/msm8996.h create mode 100644 include/dt-bindings/interconnect/qcom,msm8996.h -- 2.33.0