Commit 17bcddcd authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'icc-6.9-rc1' of...

Merge tag 'icc-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc

 into char-misc-next

Georgi writes:

interconnect changes for 6.9

This pull request contains the interconnect changes for the 6.9-rc1 merge
window. The highlights are below:

Core changes:
- Constify the of_phandle_args in xlate functions.

Driver changes:
- New interconnect driver for the MSM8909 platform.
- New interconnect driver for the SM7150 platform.
- Clean-up and removal of unused resources in drivers.
- Constify some pointers to structs.

Signed-off-by: default avatarGeorgi Djakov <djakov@kernel.org>

* tag 'icc-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc:
  interconnect: qcom: Add SM7150 driver support
  dt-bindings: interconnect: Add Qualcomm SM7150 DT bindings
  interconnect: constify of_phandle_args in xlate
  dt-bindings: interconnect: qcom,rpmh: Fix bouncing @codeaurora address
  interconnect: qcom: x1e80100: constify pointer to qcom_icc_bcm
  interconnect: qcom: sa8775p: constify pointer to qcom_icc_bcm
  interconnect: qcom: sm6115: constify pointer to qcom_icc_node
  interconnect: qcom: sm8250: constify pointer to qcom_icc_node
  interconnect: qcom: sa8775p: constify pointer to qcom_icc_node
  interconnect: qcom: msm8909: constify pointer to qcom_icc_node
  interconnect: qcom: x1e80100: Remove bogus per-RSC BCMs and nodes
  dt-bindings: interconnect: Remove bogus interconnect nodes
  interconnect: qcom: sm8550: Remove bogus per-RSC BCMs and nodes
  interconnect: qcom: Add MSM8909 interconnect provider driver
  dt-bindings: interconnect: Add Qualcomm MSM8909 DT bindings
parents 37efe116 d1c16491
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -23,6 +23,9 @@ properties:

  compatible:
    enum:
      - qcom,msm8909-bimc
      - qcom,msm8909-pcnoc
      - qcom,msm8909-snoc
      - qcom,msm8916-bimc
      - qcom,msm8916-pcnoc
      - qcom,msm8916-snoc
+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ title: Qualcomm RPMh Network-On-Chip Interconnect

maintainers:
  - Georgi Djakov <georgi.djakov@linaro.org>
  - Odelu Kukatla <okukatla@codeaurora.org>
  - Odelu Kukatla <quic_okukatla@quicinc.com>

description: |
   RPMh interconnect providers support system bandwidth requirements through
+84 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,sm7150-rpmh.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm RPMh Network-On-Chip Interconnect on SM7150

maintainers:
  - Danila Tikhonov <danila@jiaxyga.com>

description: |
  RPMh interconnect providers support system bandwidth requirements through
  RPMh hardware accelerators known as Bus Clock Manager (BCM).

  See also:: include/dt-bindings/interconnect/qcom,sm7150-rpmh.h

allOf:
  - $ref: qcom,rpmh-common.yaml#

properties:
  compatible:
    enum:
      - qcom,sm7150-aggre1-noc
      - qcom,sm7150-aggre2-noc
      - qcom,sm7150-compute-noc
      - qcom,sm7150-config-noc
      - qcom,sm7150-dc-noc
      - qcom,sm7150-gem-noc
      - qcom,sm7150-mc-virt
      - qcom,sm7150-mmss-noc
      - qcom,sm7150-system-noc

  reg:
    maxItems: 1

# Child node's properties
patternProperties:
  '^interconnect-[0-9]+$':
    type: object
    description:
      The interconnect providers do not have a separate QoS register space,
      but share parent's space.

    allOf:
      - $ref: qcom,rpmh-common.yaml#

    properties:
      compatible:
        enum:
          - qcom,sm7150-camnoc-virt

    required:
      - compatible

    unevaluatedProperties: false

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    mc_virt: interconnect@1380000 {
        compatible = "qcom,sm7150-mc-virt";
        reg = <0x01380000 0x40000>;
        #interconnect-cells = <2>;
        qcom,bcm-voters = <&apps_bcm_voter>;
    };

    system_noc: interconnect@1620000 {
        compatible = "qcom,sm7150-system-noc";
        reg = <0x01620000 0x40000>;
        #interconnect-cells = <2>;
        qcom,bcm-voters = <&apps_bcm_voter>;

        camnoc_virt: interconnect-0 {
            compatible = "qcom,sm7150-camnoc-virt";
            #interconnect-cells = <2>;
            qcom,bcm-voters = <&apps_bcm_voter>;
        };
    };
+2 −2
Original line number Diff line number Diff line
@@ -343,7 +343,7 @@ EXPORT_SYMBOL_GPL(icc_std_aggregate);
 * an array of icc nodes specified in the icc_onecell_data struct when
 * registering the provider.
 */
struct icc_node *of_icc_xlate_onecell(struct of_phandle_args *spec,
struct icc_node *of_icc_xlate_onecell(const struct of_phandle_args *spec,
				      void *data)
{
	struct icc_onecell_data *icc_data = data;
@@ -368,7 +368,7 @@ EXPORT_SYMBOL_GPL(of_icc_xlate_onecell);
 * Returns a valid pointer to struct icc_node_data on success or ERR_PTR()
 * on failure.
 */
struct icc_node_data *of_icc_get_from_provider(struct of_phandle_args *spec)
struct icc_node_data *of_icc_get_from_provider(const struct of_phandle_args *spec)
{
	struct icc_node *node = ERR_PTR(-EPROBE_DEFER);
	struct icc_node_data *data = NULL;
+18 −0
Original line number Diff line number Diff line
@@ -8,6 +8,15 @@ config INTERCONNECT_QCOM
config INTERCONNECT_QCOM_BCM_VOTER
	tristate

config INTERCONNECT_QCOM_MSM8909
	tristate "Qualcomm MSM8909 interconnect driver"
	depends on INTERCONNECT_QCOM
	depends on QCOM_SMD_RPM
	select INTERCONNECT_QCOM_SMD_RPM
	help
	  This is a driver for the Qualcomm Network-on-Chip on msm8909-based
	  platforms.

config INTERCONNECT_QCOM_MSM8916
	tristate "Qualcomm MSM8916 interconnect driver"
	depends on INTERCONNECT_QCOM
@@ -209,6 +218,15 @@ config INTERCONNECT_QCOM_SM6350
	  This is a driver for the Qualcomm Network-on-Chip on sm6350-based
	  platforms.

config INTERCONNECT_QCOM_SM7150
	tristate "Qualcomm SM7150 interconnect driver"
	depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
	select INTERCONNECT_QCOM_RPMH
	select INTERCONNECT_QCOM_BCM_VOTER
	help
	  This is a driver for the Qualcomm Network-on-Chip on sm7150-based
	  platforms.

config INTERCONNECT_QCOM_SM8150
	tristate "Qualcomm SM8150 interconnect driver"
	depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
Loading