Commit 535cd710 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-msm-next-2023-01-30' of https://gitlab.freedesktop.org/drm/msm into drm-next



msm-next for v6.3

There is one devfreq patch, maintainer acked to land via msm-next to
avoid a build break on platforms that do not support PM_DEVFREQ.  And
otherwise the usual assortment:

GPU:
- Add MSM_SUBMIT_BO_NO_IMPLICIT
- a2xx: Support to load legacy firmware
- a6xx: GPU devcore dump updates for a650/a660
- GPU devfreq tuning and fixes

DPU, DSI, MDSS:
- Support for SM8350, SM8450 SM8550 and SC8280XP platform

Core:
- Added bindings for SM8150 (driver support already present)

DPU:
- Partial support for DSC on SM8150 and SM8250
- Fixed color transformation matrix being lost on suspend/resume
- Include DSC blocks into register snapshot
- Misc HW catalog fixes

DP:
- Support for DP on SDM845 and SC8280XP platforms
- HPD fixes
- Support for limiting DP link rate via DT property, this enables
- Support for HBR3 rates.

DSI:
- Validate display modes according to the DSI OPP table
- DSI PHY support for the SM6375 platform
- Fixed byte intf clock selection for 14nm PHYs
- Fix the case of empty OPP tables (fixing db410c)
- DT schema rework and fixes

HDMI:
- Turn 8960 HDMI PHY into clock provider,
- Make 8960 HDMI PHY use PXO clock from DT

MDP5:
- Schema conversion to YAML

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
From: Rob Clark <robdclark@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGv6zQ-zsgS+NG+WuV=tk51q9vA2QdKqYhNgiXQddAdZjA@mail.gmail.com
parents e9b71eb1 dbd7a2a9
Loading
Loading
Loading
Loading
+28 −3
Original line number Diff line number Diff line
@@ -21,6 +21,9 @@ properties:
      - qcom,sc7280-edp
      - qcom,sc8180x-dp
      - qcom,sc8180x-edp
      - qcom,sc8280xp-dp
      - qcom,sc8280xp-edp
      - qcom,sdm845-dp
      - qcom,sm8350-dp

  reg:
@@ -81,6 +84,7 @@ properties:

  data-lanes:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    deprecated: true
    minItems: 1
    maxItems: 4
    items:
@@ -102,8 +106,28 @@ properties:
        description: Input endpoint of the controller

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        $ref: /schemas/graph.yaml#/$defs/port-base
        description: Output endpoint of the controller
        properties:
          endpoint:
            $ref: /schemas/media/video-interfaces.yaml#
            unevaluatedProperties: false
            properties:
              data-lanes:
                minItems: 1
                maxItems: 4
                items:
                  enum: [ 0, 1, 2, 3 ]

              link-frequencies:
                minItems: 1
                maxItems: 4
                items:
                  enum: [ 1620000000, 2700000000, 5400000000, 8100000000 ]

    required:
      - port@0
      - port@1

required:
  - compatible
@@ -127,11 +151,10 @@ allOf:
            enum:
              - qcom,sc7280-edp
              - qcom,sc8180x-edp
              - qcom,sc8280xp-edp
    then:
      properties:
        "#sound-dai-cells": false
        reg:
          maxItems: 4
    else:
      properties:
        aux-bus: false
@@ -193,6 +216,8 @@ examples:
                reg = <1>;
                endpoint {
                    remote-endpoint = <&typec>;
                    data-lanes = <0 1>;
                    link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
                };
            };
        };
+8 −4
Original line number Diff line number Diff line
@@ -13,7 +13,15 @@ maintainers:
description: |
  Common properties for QCom DPU display controller.

# Do not select this by default, otherwise it is also selected for all
# display-controller@ nodes
select:
  false

properties:
  $nodename:
    pattern: '^display-controller@[0-9a-f]+$'

  interrupts:
    maxItems: 1

@@ -40,10 +48,6 @@ properties:
      - port@0

required:
  - compatible
  - reg
  - reg-names
  - clocks
  - interrupts
  - power-domains
  - operating-points-v2
+255 −30
Original line number Diff line number Diff line
@@ -9,14 +9,33 @@ title: Qualcomm Display DSI controller
maintainers:
  - Krishna Manikandan <quic_mkrishn@quicinc.com>

allOf:
  - $ref: "../dsi-controller.yaml#"

properties:
  compatible:
    enum:
      - qcom,mdss-dsi-ctrl
      - qcom,dsi-ctrl-6g-qcm2290
    oneOf:
      - items:
          - enum:
              - qcom,apq8064-dsi-ctrl
              - qcom,msm8916-dsi-ctrl
              - qcom,msm8953-dsi-ctrl
              - qcom,msm8974-dsi-ctrl
              - qcom,msm8996-dsi-ctrl
              - qcom,msm8998-dsi-ctrl
              - qcom,qcm2290-dsi-ctrl
              - qcom,sc7180-dsi-ctrl
              - qcom,sc7280-dsi-ctrl
              - qcom,sdm660-dsi-ctrl
              - qcom,sdm845-dsi-ctrl
              - qcom,sm8150-dsi-ctrl
              - qcom,sm8250-dsi-ctrl
              - qcom,sm8350-dsi-ctrl
              - qcom,sm8450-dsi-ctrl
              - qcom,sm8550-dsi-ctrl
          - const: qcom,mdss-dsi-ctrl
      - items:
          - enum:
              - dsi-ctrl-6g-qcm2290
          - const: qcom,mdss-dsi-ctrl
        deprecated: true

  reg:
    maxItems: 1
@@ -28,22 +47,23 @@ properties:
    maxItems: 1

  clocks:
    items:
      - description: Display byte clock
      - description: Display byte interface clock
      - description: Display pixel clock
      - description: Display core clock
      - description: Display AHB clock
      - description: Display AXI clock
    description: |
      Several clocks are used, depending on the variant. Typical ones are::
       - bus:: Display AHB clock.
       - byte:: Display byte clock.
       - byte_intf:: Display byte interface clock.
       - core:: Display core clock.
       - core_mss:: Core MultiMedia SubSystem clock.
       - iface:: Display AXI clock.
       - mdp_core:: MDP Core clock.
       - mnoc:: MNOC clock
       - pixel:: Display pixel clock.
    minItems: 3
    maxItems: 9

  clock-names:
    items:
      - const: byte
      - const: byte_intf
      - const: pixel
      - const: core
      - const: iface
      - const: bus
    minItems: 3
    maxItems: 9

  phys:
    maxItems: 1
@@ -52,10 +72,6 @@ properties:
    deprecated: true
    const: dsi

  "#address-cells": true

  "#size-cells": true

  syscon-sfpb:
    description: A phandle to mmss_sfpb syscon node (only for DSIv2).
    $ref: "/schemas/types.yaml#/definitions/phandle"
@@ -67,12 +83,16 @@ properties:
      2 DSI links.

  assigned-clocks:
    maxItems: 2
    minItems: 2
    maxItems: 4
    description: |
      Parents of "byte" and "pixel" for the given platform.
      For DSIv2 platforms this should contain "byte", "esc", "src" and
      "pixel_src" clocks.

  assigned-clock-parents:
    maxItems: 2
    minItems: 2
    maxItems: 4
    description: |
      The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block.

@@ -103,7 +123,7 @@ properties:
            properties:
              data-lanes:
                maxItems: 4
                minItems: 4
                minItems: 1
                items:
                  enum: [ 0, 1, 2, 3 ]

@@ -119,7 +139,7 @@ properties:
            properties:
              data-lanes:
                maxItems: 4
                minItems: 4
                minItems: 1
                items:
                  enum: [ 0, 1, 2, 3 ]

@@ -127,6 +147,26 @@ properties:
      - port@0
      - port@1

  avdd-supply:
    description:
      Phandle to vdd regulator device node

  vcca-supply:
    description:
      Phandle to vdd regulator device node

  vdd-supply:
    description:
      VDD regulator

  vddio-supply:
    description:
      VDD-IO regulator

  vdda-supply:
    description:
      VDDA regulator

required:
  - compatible
  - reg
@@ -139,7 +179,192 @@ required:
  - assigned-clock-parents
  - ports

additionalProperties: false
allOf:
  - $ref: ../dsi-controller.yaml#
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,apq8064-dsi-ctrl
    then:
      properties:
        clocks:
          maxItems: 7
        clock-names:
          items:
            - const: iface
            - const: bus
            - const: core_mmss
            - const: src
            - const: byte
            - const: pixel
            - const: core

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,msm8916-dsi-ctrl
    then:
      properties:
        clocks:
          maxItems: 6
        clock-names:
          items:
            - const: mdp_core
            - const: iface
            - const: bus
            - const: byte
            - const: pixel
            - const: core

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,msm8953-dsi-ctrl
    then:
      properties:
        clocks:
          maxItems: 6
        clock-names:
          items:
            - const: mdp_core
            - const: iface
            - const: bus
            - const: byte
            - const: pixel
            - const: core

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,msm8974-dsi-ctrl
    then:
      properties:
        clocks:
          maxItems: 7
        clock-names:
          items:
            - const: mdp_core
            - const: iface
            - const: bus
            - const: byte
            - const: pixel
            - const: core
            - const: core_mmss

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,msm8996-dsi-ctrl
    then:
      properties:
        clocks:
          maxItems: 7
        clock-names:
          items:
            - const: mdp_core
            - const: byte
            - const: iface
            - const: bus
            - const: core_mmss
            - const: pixel
            - const: core

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,msm8998-dsi-ctrl
    then:
      properties:
        clocks:
          maxItems: 6
        clock-names:
          items:
            - const: byte
            - const: byte_intf
            - const: pixel
            - const: core
            - const: iface
            - const: bus

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sc7180-dsi-ctrl
              - qcom,sc7280-dsi-ctrl
              - qcom,sm8150-dsi-ctrl
              - qcom,sm8250-dsi-ctrl
              - qcom,sm8350-dsi-ctrl
              - qcom,sm8450-dsi-ctrl
              - qcom,sm8550-dsi-ctrl
    then:
      properties:
        clocks:
          maxItems: 6
        clock-names:
          items:
            - const: byte
            - const: byte_intf
            - const: pixel
            - const: core
            - const: iface
            - const: bus

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sdm660-dsi-ctrl
    then:
      properties:
        clocks:
          maxItems: 9
        clock-names:
          items:
            - const: mdp_core
            - const: byte
            - const: byte_intf
            - const: mnoc
            - const: iface
            - const: bus
            - const: core_mmss
            - const: pixel
            - const: core

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sdm845-dsi-ctrl
    then:
      properties:
        clocks:
          maxItems: 6
        clock-names:
          items:
            - const: byte
            - const: byte_intf
            - const: pixel
            - const: core
            - const: iface
            - const: bus

unevaluatedProperties: false

examples:
  - |
@@ -149,7 +374,7 @@ examples:
     #include <dt-bindings/power/qcom-rpmpd.h>

     dsi@ae94000 {
           compatible = "qcom,mdss-dsi-ctrl";
           compatible = "qcom,sc7180-dsi-ctrl", "qcom,mdss-dsi-ctrl";
           reg = <0x0ae94000 0x400>;
           reg-names = "dsi_ctrl";

+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ properties:
  compatible:
    enum:
      - qcom,dsi-phy-28nm-hpm
      - qcom,dsi-phy-28nm-hpm-fam-b
      - qcom,dsi-phy-28nm-lp
      - qcom,dsi-phy-28nm-8960

+4 −1
Original line number Diff line number Diff line
@@ -18,6 +18,10 @@ properties:
      - qcom,dsi-phy-7nm
      - qcom,dsi-phy-7nm-8150
      - qcom,sc7280-dsi-phy-7nm
      - qcom,sm6375-dsi-phy-7nm
      - qcom,sm8350-dsi-phy-5nm
      - qcom,sm8450-dsi-phy-5nm
      - qcom,sm8550-dsi-phy-4nm

  reg:
    items:
@@ -44,7 +48,6 @@ required:
  - compatible
  - reg
  - reg-names
  - vdds-supply

unevaluatedProperties: false

Loading