Unverified Commit ee22fbd7 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'qcom-drivers-for-6.11' of...

Merge tag 'qcom-drivers-for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

Qualcomm driver updates for v6.11

Support for Shared Memory (shm) Bridge is added, which provides a
stricter interface for handling of buffers passed to TrustZone.

The X1Elite platform is added to uefisecapp allow list, to instantiate
the efivars implementation.

A new in-kernel implementation of the pd-mapper (or servreg) service is
introduced, to replace the userspace dependency for USB Type-C and
battery management.

Support for sharing interrupts across multiple bwmon instances is added,
and a refcount imbalance issue is corrected.

The LLCC support for recent platforms is corrected, and SA8775P support
is added.

A new interface is added to SMEM, to expose "feature codes". One example
of the usecase for this is to indicate to the GPU driver which
frequencies are available on the given device.

The interrupt consumer and provider side of SMP2P is updated to provide
more useful names in interrupt stats.

Support for using the mailbox binding and driver for outgoing IPC
interrupt in the SMSM driver is introduced.

socinfo driver learns about SDM670 and IPQ5321, as well as get some
updates to the X1E PMICs.

pmic_glink is bumped to now support managing 3 USB Type-C ports.

* tag 'qcom-drivers-for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (48 commits)
  soc: qcom: smp2p: Use devname for interrupt descriptions
  soc: qcom: smsm: Add missing mailbox dependency to Kconfig
  soc: qcom: add missing pd-mapper dependencies
  soc: qcom: icc-bwmon: Allow for interrupts to be shared across instances
  dt-bindings: interconnect: qcom,msm8998-bwmon: Add X1E80100 BWMON instances
  dt-bindings: interconnect: qcom,msm8998-bwmon: Remove opp-table from the required list
  firmware: qcom: tzmem: export devm_qcom_tzmem_pool_new()
  soc: qcom: add pd-mapper implementation
  soc: qcom: pdr: extract PDR message marshalling data
  soc: qcom: pdr: fix parsing of domains lists
  soc: qcom: pdr: protect locator_addr with the main mutex
  firmware: qcom: scm: clarify the comment in qcom_scm_pas_init_image()
  firmware: qcom: scm: add support for SHM bridge memory carveout
  firmware: qcom: tzmem: enable SHM Bridge support
  firmware: qcom: scm: add support for SHM bridge operations
  firmware: qcom: qseecom: convert to using the TZ allocator
  firmware: qcom: scm: make qcom_scm_qseecom_app_get_id() use the TZ allocator
  firmware: qcom: scm: make qcom_scm_lmh_dcvsh() use the TZ allocator
  firmware: qcom: scm: make qcom_scm_ice_set_key() use the TZ allocator
  firmware: qcom: scm: make qcom_scm_assign_mem() use the TZ allocator
  ...

Link: https://lore.kernel.org/r/20240705034410.13968-1-andersson@kernel.org


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents e9a316af e49380c1
Loading
Loading
Loading
Loading
+54 −1
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ properties:
  compatible:
    enum:
      - qcom,qdu1000-llcc
      - qcom,sa8775p-llcc
      - qcom,sc7180-llcc
      - qcom,sc7280-llcc
      - qcom,sc8180x-llcc
@@ -80,6 +81,33 @@ allOf:
            - const: llcc0_base
            - const: llcc_broadcast_base

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sa8775p-llcc
    then:
      properties:
        reg:
          items:
            - description: LLCC0 base register region
            - description: LLCC1 base register region
            - description: LLCC2 base register region
            - description: LLCC3 base register region
            - description: LLCC4 base register region
            - description: LLCC5 base register region
            - description: LLCC broadcast base register region
        reg-names:
          items:
            - const: llcc0_base
            - const: llcc1_base
            - const: llcc2_base
            - const: llcc3_base
            - const: llcc4_base
            - const: llcc5_base
            - const: llcc_broadcast_base

  - if:
      properties:
        compatible:
@@ -141,8 +169,31 @@ allOf:
              - qcom,sm8150-llcc
              - qcom,sm8250-llcc
              - qcom,sm8350-llcc
    then:
      properties:
        reg:
          items:
            - description: LLCC0 base register region
            - description: LLCC1 base register region
            - description: LLCC2 base register region
            - description: LLCC3 base register region
            - description: LLCC broadcast base register region
        reg-names:
          items:
            - const: llcc0_base
            - const: llcc1_base
            - const: llcc2_base
            - const: llcc3_base
            - const: llcc_broadcast_base

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sm8450-llcc
              - qcom,sm8550-llcc
              - qcom,sm8650-llcc
    then:
      properties:
        reg:
@@ -151,7 +202,8 @@ allOf:
            - description: LLCC1 base register region
            - description: LLCC2 base register region
            - description: LLCC3 base register region
            - description: LLCC broadcast base register region
            - description: LLCC broadcast OR register region
            - description: LLCC broadcast AND register region
        reg-names:
          items:
            - const: llcc0_base
@@ -159,6 +211,7 @@ allOf:
            - const: llcc2_base
            - const: llcc3_base
            - const: llcc_broadcast_base
            - const: llcc_broadcast_and_base

additionalProperties: false

+15 −0
Original line number Diff line number Diff line
@@ -93,6 +93,11 @@ properties:
      protocol to handle sleeping SCM calls.
    maxItems: 1

  memory-region:
    description:
      Phandle to the memory region reserved for the shared memory bridge to TZ.
    maxItems: 1

  qcom,sdi-enabled:
    description:
      Indicates that the SDI (Secure Debug Image) has been enabled by TZ
@@ -193,6 +198,16 @@ allOf:
    then:
      properties:
        interrupts: false
  - if:
      not:
        properties:
          compatible:
            contains:
              enum:
                - qcom,scm-sa8775p
    then:
      properties:
        memory-region: false

required:
  - compatible
+2 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ properties:
              - qcom,sm8250-cpu-bwmon
              - qcom,sm8550-cpu-bwmon
              - qcom,sm8650-cpu-bwmon
              - qcom,x1e80100-cpu-bwmon
          - const: qcom,sdm845-bwmon    # BWMON v4, unified register space
      - items:
          - enum:
@@ -44,6 +45,7 @@ properties:
              - qcom,sm8250-llcc-bwmon
              - qcom,sm8550-llcc-bwmon
              - qcom,sm8650-llcc-bwmon
              - qcom,x1e80100-llcc-bwmon
          - const: qcom,sc7280-llcc-bwmon
      - const: qcom,sc7280-llcc-bwmon   # BWMON v5
      - const: qcom,sdm845-llcc-bwmon   # BWMON v5
@@ -72,7 +74,6 @@ required:
  - interconnects
  - interrupts
  - operating-points-v2
  - opp-table
  - reg

additionalProperties: false
+1 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ properties:
          - qcom,sc7280-aoss-qmp
          - qcom,sc8180x-aoss-qmp
          - qcom,sc8280xp-aoss-qmp
          - qcom,sdx75-aoss-qmp
          - qcom,sdm845-aoss-qmp
          - qcom,sm6350-aoss-qmp
          - qcom,sm8150-aoss-qmp
+2 −1
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ properties:
    description:
      Three entries specifying the outgoing ipc bit used for signaling the
      remote end of the smp2p edge.
    deprecated: true

  qcom,local-pid:
    $ref: /schemas/types.yaml#/definitions/uint32
@@ -128,7 +129,7 @@ examples:
        compatible = "qcom,smp2p";
        qcom,smem = <431>, <451>;
        interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
        qcom,ipc = <&apcs 8 18>;
        mboxes = <&apcs 18>;
        qcom,local-pid = <0>;
        qcom,remote-pid = <4>;

Loading