Skip to content

Commit 2222dcb

Browse files
committed
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: Dave Airlie <[email protected]> From: Rob Clark <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGsUB=tRB4nR6ZCJMuLhro5zN3BQWUSywVYbaipqqDZ_cQ@mail.gmail.com
2 parents cce3b57 + cd036d5 commit 2222dcb

File tree

108 files changed

+4442
-2493
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+4442
-2493
lines changed

Documentation/devicetree/bindings/display/msm/dp-controller.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ properties:
2929
- items:
3030
- enum:
3131
- qcom,sm8450-dp
32+
- qcom,sm8550-dp
3233
- const: qcom,sm8350-dp
3334

3435
reg:

Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ properties:
1515
- items:
1616
- enum:
1717
- qcom,apq8064-dsi-ctrl
18+
- qcom,msm8226-dsi-ctrl
1819
- qcom,msm8916-dsi-ctrl
1920
- qcom,msm8953-dsi-ctrl
2021
- qcom,msm8974-dsi-ctrl
@@ -26,6 +27,8 @@ properties:
2627
- qcom,sdm660-dsi-ctrl
2728
- qcom,sdm845-dsi-ctrl
2829
- qcom,sm6115-dsi-ctrl
30+
- qcom,sm6350-dsi-ctrl
31+
- qcom,sm6375-dsi-ctrl
2932
- qcom,sm8150-dsi-ctrl
3033
- qcom,sm8250-dsi-ctrl
3134
- qcom,sm8350-dsi-ctrl
@@ -256,6 +259,7 @@ allOf:
256259
compatible:
257260
contains:
258261
enum:
262+
- qcom,msm8226-dsi-ctrl
259263
- qcom,msm8974-dsi-ctrl
260264
then:
261265
properties:
@@ -297,6 +301,7 @@ allOf:
297301
contains:
298302
enum:
299303
- qcom,msm8998-dsi-ctrl
304+
- qcom,sm6350-dsi-ctrl
300305
then:
301306
properties:
302307
clocks:
@@ -364,6 +369,7 @@ allOf:
364369
enum:
365370
- qcom,sdm845-dsi-ctrl
366371
- qcom,sm6115-dsi-ctrl
372+
- qcom,sm6375-dsi-ctrl
367373
then:
368374
properties:
369375
clocks:

Documentation/devicetree/bindings/display/msm/dsi-phy-28nm.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ allOf:
1515
properties:
1616
compatible:
1717
enum:
18+
- qcom,dsi-phy-28nm-8226
19+
- qcom,dsi-phy-28nm-8960
1820
- qcom,dsi-phy-28nm-hpm
1921
- qcom,dsi-phy-28nm-hpm-fam-b
2022
- qcom,dsi-phy-28nm-lp
21-
- qcom,dsi-phy-28nm-8960
2223

2324
reg:
2425
items:

Documentation/devicetree/bindings/display/msm/gmu.yaml

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,18 @@ description: |
1919
2020
properties:
2121
compatible:
22-
items:
23-
- pattern: '^qcom,adreno-gmu-6[0-9][0-9]\.[0-9]$'
24-
- const: qcom,adreno-gmu
22+
oneOf:
23+
- items:
24+
- pattern: '^qcom,adreno-gmu-6[0-9][0-9]\.[0-9]$'
25+
- const: qcom,adreno-gmu
26+
- const: qcom,adreno-gmu-wrapper
2527

2628
reg:
27-
minItems: 3
29+
minItems: 1
2830
maxItems: 4
2931

3032
reg-names:
31-
minItems: 3
33+
minItems: 1
3234
maxItems: 4
3335

3436
clocks:
@@ -44,7 +46,6 @@ properties:
4446
- description: GMU HFI interrupt
4547
- description: GMU interrupt
4648

47-
4849
interrupt-names:
4950
items:
5051
- const: hfi
@@ -72,14 +73,8 @@ required:
7273
- compatible
7374
- reg
7475
- reg-names
75-
- clocks
76-
- clock-names
77-
- interrupts
78-
- interrupt-names
7976
- power-domains
8077
- power-domain-names
81-
- iommus
82-
- operating-points-v2
8378

8479
additionalProperties: false
8580

@@ -122,6 +117,7 @@ allOf:
122117
contains:
123118
enum:
124119
- qcom,adreno-gmu-635.0
120+
- qcom,adreno-gmu-660.1
125121
then:
126122
properties:
127123
reg:
@@ -217,6 +213,28 @@ allOf:
217213
- const: axi
218214
- const: memnoc
219215

216+
- if:
217+
properties:
218+
compatible:
219+
contains:
220+
const: qcom,adreno-gmu-wrapper
221+
then:
222+
properties:
223+
reg:
224+
items:
225+
- description: GMU wrapper register space
226+
reg-names:
227+
items:
228+
- const: gmu
229+
else:
230+
required:
231+
- clocks
232+
- clock-names
233+
- interrupts
234+
- interrupt-names
235+
- iommus
236+
- operating-points-v2
237+
220238
examples:
221239
- |
222240
#include <dt-bindings/clock/qcom,gpucc-sdm845.h>
@@ -249,3 +267,12 @@ examples:
249267
iommus = <&adreno_smmu 5>;
250268
operating-points-v2 = <&gmu_opp_table>;
251269
};
270+
271+
gmu_wrapper: gmu@596a000 {
272+
compatible = "qcom,adreno-gmu-wrapper";
273+
reg = <0x0596a000 0x30000>;
274+
reg-names = "gmu";
275+
power-domains = <&gpucc GPU_CX_GDSC>,
276+
<&gpucc GPU_GX_GDSC>;
277+
power-domain-names = "cx", "gx";
278+
};

Documentation/devicetree/bindings/display/msm/gpu.yaml

Lines changed: 52 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,7 @@ properties:
3636

3737
reg-names:
3838
minItems: 1
39-
items:
40-
- const: kgsl_3d0_reg_memory
41-
- const: cx_mem
42-
- const: cx_dbgc
39+
maxItems: 3
4340

4441
interrupts:
4542
maxItems: 1
@@ -157,16 +154,62 @@ allOf:
157154
required:
158155
- clocks
159156
- clock-names
157+
160158
- if:
161159
properties:
162160
compatible:
163161
contains:
164-
pattern: '^qcom,adreno-6[0-9][0-9]\.[0-9]$'
165-
166-
then: # Since Adreno 6xx series clocks should be defined in GMU
162+
enum:
163+
- qcom,adreno-610.0
164+
- qcom,adreno-619.1
165+
then:
167166
properties:
168-
clocks: false
169-
clock-names: false
167+
clocks:
168+
minItems: 6
169+
maxItems: 6
170+
171+
clock-names:
172+
items:
173+
- const: core
174+
description: GPU Core clock
175+
- const: iface
176+
description: GPU Interface clock
177+
- const: mem_iface
178+
description: GPU Memory Interface clock
179+
- const: alt_mem_iface
180+
description: GPU Alternative Memory Interface clock
181+
- const: gmu
182+
description: CX GMU clock
183+
- const: xo
184+
description: GPUCC clocksource clock
185+
186+
reg-names:
187+
minItems: 1
188+
items:
189+
- const: kgsl_3d0_reg_memory
190+
- const: cx_dbgc
191+
192+
required:
193+
- clocks
194+
- clock-names
195+
else:
196+
if:
197+
properties:
198+
compatible:
199+
contains:
200+
pattern: '^qcom,adreno-6[0-9][0-9]\.[0-9]$'
201+
202+
then: # Starting with A6xx, the clocks are usually defined in the GMU node
203+
properties:
204+
clocks: false
205+
clock-names: false
206+
207+
reg-names:
208+
minItems: 1
209+
items:
210+
- const: kgsl_3d0_reg_memory
211+
- const: cx_mem
212+
- const: cx_dbgc
170213

171214
examples:
172215
- |

Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ properties:
2222
- items:
2323
- enum:
2424
- qcom,apq8084-mdp5
25+
- qcom,msm8226-mdp5
2526
- qcom,msm8916-mdp5
2627
- qcom,msm8917-mdp5
2728
- qcom,msm8953-mdp5

Documentation/devicetree/bindings/display/msm/qcom,mdss.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ patternProperties:
125125
- qcom,dsi-phy-14nm-660
126126
- qcom,dsi-phy-14nm-8953
127127
- qcom,dsi-phy-20nm
128+
- qcom,dsi-phy-28nm-8226
128129
- qcom,dsi-phy-28nm-hpm
129130
- qcom,dsi-phy-28nm-lp
130131
- qcom,hdmi-phy-8084

Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ $ref: /schemas/display/msm/dpu-common.yaml#
1313

1414
properties:
1515
compatible:
16-
const: qcom,sc7180-dpu
16+
enum:
17+
- qcom,sc7180-dpu
18+
- qcom,sm6350-dpu
19+
- qcom,sm6375-dpu
1720

1821
reg:
1922
items:
@@ -26,22 +29,26 @@ properties:
2629
- const: vbif
2730

2831
clocks:
32+
minItems: 6
2933
items:
3034
- description: Display hf axi clock
3135
- description: Display ahb clock
3236
- description: Display rotator clock
3337
- description: Display lut clock
3438
- description: Display core clock
3539
- description: Display vsync clock
40+
- description: Display core throttle clock
3641

3742
clock-names:
43+
minItems: 6
3844
items:
3945
- const: bus
4046
- const: iface
4147
- const: rot
4248
- const: lut
4349
- const: core
4450
- const: vsync
51+
- const: throttle
4552

4653
required:
4754
- compatible
@@ -52,6 +59,20 @@ required:
5259

5360
unevaluatedProperties: false
5461

62+
allOf:
63+
- if:
64+
properties:
65+
compatible:
66+
const: qcom,sm6375-dpu
67+
68+
then:
69+
properties:
70+
clocks:
71+
minItems: 7
72+
73+
clock-names:
74+
minItems: 7
75+
5576
examples:
5677
- |
5778
#include <dt-bindings/clock/qcom,dispcc-sc7180.h>

0 commit comments

Comments
 (0)