Commit 2222dcb0 authored by Dave Airlie's avatar Dave Airlie
Browse files

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



Updates for v6.5.. this includes a backmerg of drm-next tree to be able
to use new DRM DSC helpers.

Core:
+ Add Marijn Suijten as drm/msm reviewer
+ Adreno A660 bindings
+ SM8350 MDSS bindings fix
+ Fix adreno_is_a690() warnings
+ More generic (DRM) and MSM-specific DSC helpers

DP:
+ Removed obsolete USB-PD remains
+ Documented DP compatible string for sm8550 platform

DPU:
+ Enable missing features (DSPP, DSC, split display) on sc8180x,
  sc8280xp, sm8450
+ Enabled writeback on sc7280
+ Implemented tearcheck support to support vsync on SM150 and
  newer platforms
+ Native HDMI output support
+ Dropped unused features: regdma, GC, IGC
+ Fixed the DSC flush operations
+ Simplified QoS handling, removing obsolete and unused features
  and merging SSPP and WB code paths
+ Reworked dpu_encoder initialisation path
+ Enabled DSPP support on sdm845
+ Disabled color-management if DSPP blocks are not available
+ Added support for DSC 1.2 blocks found on sm8350 and later
+ Added .fb_dirty to fix CMD panels

DSI:
+ Drop powerup quirks in favour of using pre_enable_prev_first for
  downstream bridges
+ Fixed 14nm DSI PHY programming
+ Added support for DSI and 28nm DSI PHY on MSM8226 platform
+ Make use of DRM and MSM DSC helpers

MDP5:
+ Added support for display controller on MSM8226 platform

GPU:
+ A690 support
+ Don't set IO_PGTABLE_QUIRK_ARM_OUTER_WBWA on devices with coherent SMMU
  (like A690)
+ Move cmdstream dumping out of fence signaling path
+ Cleanups
+ Support for a6xx devices without GMU (aka "GMU wrapper"
+ a610 support
+ a619_holi support (a619 variant without GMU)

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
From: Rob Clark <robdclark@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGsUB=tRB4nR6ZCJMuLhro5zN3BQWUSywVYbaipqqDZ_cQ@mail.gmail.com
parents cce3b573 cd036d54
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ properties:
      - items:
          - enum:
              - qcom,sm8450-dp
              - qcom,sm8550-dp
          - const: qcom,sm8350-dp

  reg:
+6 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ properties:
      - items:
          - enum:
              - qcom,apq8064-dsi-ctrl
              - qcom,msm8226-dsi-ctrl
              - qcom,msm8916-dsi-ctrl
              - qcom,msm8953-dsi-ctrl
              - qcom,msm8974-dsi-ctrl
@@ -26,6 +27,8 @@ properties:
              - qcom,sdm660-dsi-ctrl
              - qcom,sdm845-dsi-ctrl
              - qcom,sm6115-dsi-ctrl
              - qcom,sm6350-dsi-ctrl
              - qcom,sm6375-dsi-ctrl
              - qcom,sm8150-dsi-ctrl
              - qcom,sm8250-dsi-ctrl
              - qcom,sm8350-dsi-ctrl
@@ -256,6 +259,7 @@ allOf:
        compatible:
          contains:
            enum:
              - qcom,msm8226-dsi-ctrl
              - qcom,msm8974-dsi-ctrl
    then:
      properties:
@@ -297,6 +301,7 @@ allOf:
          contains:
            enum:
              - qcom,msm8998-dsi-ctrl
              - qcom,sm6350-dsi-ctrl
    then:
      properties:
        clocks:
@@ -364,6 +369,7 @@ allOf:
            enum:
              - qcom,sdm845-dsi-ctrl
              - qcom,sm6115-dsi-ctrl
              - qcom,sm6375-dsi-ctrl
    then:
      properties:
        clocks:
+2 −1
Original line number Diff line number Diff line
@@ -15,10 +15,11 @@ allOf:
properties:
  compatible:
    enum:
      - qcom,dsi-phy-28nm-8226
      - qcom,dsi-phy-28nm-8960
      - qcom,dsi-phy-28nm-hpm
      - qcom,dsi-phy-28nm-hpm-fam-b
      - qcom,dsi-phy-28nm-lp
      - qcom,dsi-phy-28nm-8960

  reg:
    items:
+39 −12
Original line number Diff line number Diff line
@@ -19,16 +19,18 @@ description: |

properties:
  compatible:
    items:
    oneOf:
      - items:
          - pattern: '^qcom,adreno-gmu-6[0-9][0-9]\.[0-9]$'
          - const: qcom,adreno-gmu
      - const: qcom,adreno-gmu-wrapper

  reg:
    minItems: 3
    minItems: 1
    maxItems: 4

  reg-names:
    minItems: 3
    minItems: 1
    maxItems: 4

  clocks:
@@ -44,7 +46,6 @@ properties:
      - description: GMU HFI interrupt
      - description: GMU interrupt


  interrupt-names:
    items:
      - const: hfi
@@ -72,14 +73,8 @@ required:
  - compatible
  - reg
  - reg-names
  - clocks
  - clock-names
  - interrupts
  - interrupt-names
  - power-domains
  - power-domain-names
  - iommus
  - operating-points-v2

additionalProperties: false

@@ -122,6 +117,7 @@ allOf:
          contains:
            enum:
              - qcom,adreno-gmu-635.0
              - qcom,adreno-gmu-660.1
    then:
      properties:
        reg:
@@ -217,6 +213,28 @@ allOf:
            - const: axi
            - const: memnoc

  - if:
      properties:
        compatible:
          contains:
            const: qcom,adreno-gmu-wrapper
    then:
      properties:
        reg:
          items:
            - description: GMU wrapper register space
        reg-names:
          items:
            - const: gmu
    else:
      required:
        - clocks
        - clock-names
        - interrupts
        - interrupt-names
        - iommus
        - operating-points-v2

examples:
  - |
    #include <dt-bindings/clock/qcom,gpucc-sdm845.h>
@@ -249,3 +267,12 @@ examples:
        iommus = <&adreno_smmu 5>;
        operating-points-v2 = <&gmu_opp_table>;
    };

    gmu_wrapper: gmu@596a000 {
        compatible = "qcom,adreno-gmu-wrapper";
        reg = <0x0596a000 0x30000>;
        reg-names = "gmu";
        power-domains = <&gpucc GPU_CX_GDSC>,
                        <&gpucc GPU_GX_GDSC>;
        power-domain-names = "cx", "gx";
    };
+52 −9
Original line number Diff line number Diff line
@@ -36,10 +36,7 @@ properties:

  reg-names:
    minItems: 1
    items:
      - const: kgsl_3d0_reg_memory
      - const: cx_mem
      - const: cx_dbgc
    maxItems: 3

  interrupts:
    maxItems: 1
@@ -157,17 +154,63 @@ allOf:
      required:
        - clocks
        - clock-names

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,adreno-610.0
              - qcom,adreno-619.1
    then:
      properties:
        clocks:
          minItems: 6
          maxItems: 6

        clock-names:
          items:
            - const: core
              description: GPU Core clock
            - const: iface
              description: GPU Interface clock
            - const: mem_iface
              description: GPU Memory Interface clock
            - const: alt_mem_iface
              description: GPU Alternative Memory Interface clock
            - const: gmu
              description: CX GMU clock
            - const: xo
              description: GPUCC clocksource clock

        reg-names:
          minItems: 1
          items:
            - const: kgsl_3d0_reg_memory
            - const: cx_dbgc

      required:
        - clocks
        - clock-names
    else:
      if:
        properties:
          compatible:
            contains:
              pattern: '^qcom,adreno-6[0-9][0-9]\.[0-9]$'

    then: # Since Adreno 6xx series clocks should be defined in GMU
      then: # Starting with A6xx, the clocks are usually defined in the GMU node
        properties:
          clocks: false
          clock-names: false

          reg-names:
            minItems: 1
            items:
              - const: kgsl_3d0_reg_memory
              - const: cx_mem
              - const: cx_dbgc

examples:
  - |

Loading