Skip to content

Commit 62a05f4

Browse files
committed
Merge tag 'drm-msm-next-2024-07-04' of https://gitlab.freedesktop.org/drm/msm into drm-next
Updates for v6.11 Core: - SM7150 support DPU: - SM7150 support - Fix DSC support for DSI panels in video mode - Fixed TE vsync source support for DSI command-mode panels - Fix for devices without UBWC in the display controller (ie. QCM2290) DSI: - Remove unused register-writing wrappers - Fix DSC support for panels in video mode - Add support for parsing TE vsync source - Add support for MSM8937 (28nm DSI PHY) MDP5: - Add support for MSM8937 - Fix configuration for MSM8953 GPU: - Split giant device table into per-gen "hw catalog" similar to what is done on the display side of the driver - Fix a702 UBWC mode - Fix unused variably warnings - GPU memory traces - Add param for userspace to know if raytracing is supported - Memory barrier cleanup and GBIF unhalt fix - X185 support (aka gpu in X1 laptop chips) - a505 support - fixes Signed-off-by: Daniel Vetter <[email protected]> From: Rob Clark <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGvZQpYEHpSCgXGJ2kaHJDK6QFAFfTsfiWm4b2zZOnjXGw@mail.gmail.com
2 parents d076e2b + fe34394 commit 62a05f4

Some content is hidden

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

72 files changed

+4062
-2495
lines changed

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ properties:
3232
- qcom,sm6125-dsi-ctrl
3333
- qcom,sm6350-dsi-ctrl
3434
- qcom,sm6375-dsi-ctrl
35+
- qcom,sm7150-dsi-ctrl
3536
- qcom,sm8150-dsi-ctrl
3637
- qcom,sm8250-dsi-ctrl
3738
- qcom,sm8350-dsi-ctrl
@@ -162,6 +163,22 @@ properties:
162163
items:
163164
enum: [ 0, 1, 2, 3 ]
164165

166+
qcom,te-source:
167+
$ref: /schemas/types.yaml#/definitions/string
168+
description:
169+
Specifies the source of vsync signal from the panel used for
170+
tearing elimination.
171+
default: mdp_vsync_p
172+
enum:
173+
- mdp_vsync_p
174+
- mdp_vsync_s
175+
- mdp_vsync_e
176+
- timer0
177+
- timer1
178+
- timer2
179+
- timer3
180+
- timer4
181+
165182
required:
166183
- port@0
167184
- port@1
@@ -332,6 +349,7 @@ allOf:
332349
enum:
333350
- qcom,sc7180-dsi-ctrl
334351
- qcom,sc7280-dsi-ctrl
352+
- qcom,sm7150-dsi-ctrl
335353
- qcom,sm8150-dsi-ctrl
336354
- qcom,sm8250-dsi-ctrl
337355
- qcom,sm8350-dsi-ctrl
@@ -452,6 +470,7 @@ examples:
452470
dsi0_out: endpoint {
453471
remote-endpoint = <&sn65dsi86_in>;
454472
data-lanes = <0 1 2 3>;
473+
qcom,te-source = "mdp_vsync_e";
455474
};
456475
};
457476
};

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ properties:
1616
compatible:
1717
enum:
1818
- qcom,dsi-phy-28nm-8226
19+
- qcom,dsi-phy-28nm-8937
1920
- qcom,dsi-phy-28nm-8960
2021
- qcom,dsi-phy-28nm-hpm
2122
- qcom,dsi-phy-28nm-hpm-fam-b

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ properties:
2323
- items:
2424
- pattern: '^qcom,adreno-gmu-[67][0-9][0-9]\.[0-9]$'
2525
- const: qcom,adreno-gmu
26+
- items:
27+
- pattern: '^qcom,adreno-gmu-x[1-9][0-9][0-9]\.[0-9]$'
28+
- const: qcom,adreno-gmu
2629
- const: qcom,adreno-gmu-wrapper
2730

2831
reg:
@@ -225,6 +228,7 @@ allOf:
225228
- qcom,adreno-gmu-730.1
226229
- qcom,adreno-gmu-740.1
227230
- qcom,adreno-gmu-750.1
231+
- qcom,adreno-gmu-x185.1
228232
then:
229233
properties:
230234
reg:

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

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,26 @@ title: Adreno or Snapdragon GPUs
1010
maintainers:
1111
- Rob Clark <[email protected]>
1212

13+
# dtschema does not select nodes based on pattern+const, so add custom select
14+
# as a work-around:
15+
select:
16+
properties:
17+
compatible:
18+
contains:
19+
enum:
20+
- qcom,adreno
21+
- amd,imageon
22+
required:
23+
- compatible
24+
1325
properties:
1426
compatible:
1527
oneOf:
1628
- description: |
1729
The driver is parsing the compat string for Adreno to
1830
figure out the chip-id.
1931
items:
20-
- pattern: '^qcom,adreno-[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$'
32+
- pattern: '^qcom,adreno-[0-9a-f]{8}$'
2133
- const: qcom,adreno
2234
- description: |
2335
The driver is parsing the compat string for Adreno to
@@ -32,17 +44,24 @@ properties:
3244
- pattern: '^amd,imageon-200\.[0-1]$'
3345
- const: amd,imageon
3446
35-
clocks: true
47+
clocks:
48+
minItems: 2
49+
maxItems: 7
3650

37-
clock-names: true
51+
clock-names:
52+
minItems: 2
53+
maxItems: 7
3854

3955
reg:
4056
minItems: 1
4157
maxItems: 3
4258

4359
reg-names:
4460
minItems: 1
45-
maxItems: 3
61+
items:
62+
- const: kgsl_3d0_reg_memory
63+
- const: cx_mem
64+
- const: cx_dbgc
4665

4766
interrupts:
4867
maxItems: 1

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ properties:
2525
- qcom,msm8226-mdp5
2626
- qcom,msm8916-mdp5
2727
- qcom,msm8917-mdp5
28+
- qcom,msm8937-mdp5
2829
- qcom,msm8953-mdp5
2930
- qcom,msm8974-mdp5
3031
- qcom,msm8976-mdp5

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ patternProperties:
126126
- qcom,dsi-phy-14nm-8953
127127
- qcom,dsi-phy-20nm
128128
- qcom,dsi-phy-28nm-8226
129+
- qcom,dsi-phy-28nm-8937
129130
- qcom,dsi-phy-28nm-hpm
130131
- qcom,dsi-phy-28nm-hpm-fam-b
131132
- qcom,dsi-phy-28nm-lp
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/msm/qcom,sm7150-dpu.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm SM7150 Display Processing Unit (DPU)
8+
9+
maintainers:
10+
- Danila Tikhonov <[email protected]>
11+
12+
$ref: /schemas/display/msm/dpu-common.yaml#
13+
14+
properties:
15+
compatible:
16+
const: qcom,sm7150-dpu
17+
18+
reg:
19+
items:
20+
- description: Address offset and size for mdp register set
21+
- description: Address offset and size for vbif register set
22+
23+
reg-names:
24+
items:
25+
- const: mdp
26+
- const: vbif
27+
28+
clocks:
29+
items:
30+
- description: Display hf axi clock
31+
- description: Display ahb clock
32+
- description: Display rotator clock
33+
- description: Display lut clock
34+
- description: Display core clock
35+
- description: Display vsync clock
36+
37+
clock-names:
38+
items:
39+
- const: bus
40+
- const: iface
41+
- const: rot
42+
- const: lut
43+
- const: core
44+
- const: vsync
45+
46+
required:
47+
- compatible
48+
- reg
49+
- reg-names
50+
- clocks
51+
- clock-names
52+
53+
unevaluatedProperties: false
54+
55+
examples:
56+
- |
57+
#include <dt-bindings/interrupt-controller/arm-gic.h>
58+
#include <dt-bindings/power/qcom,rpmhpd.h>
59+
60+
display-controller@ae01000 {
61+
compatible = "qcom,sm7150-dpu";
62+
reg = <0x0ae01000 0x8f000>,
63+
<0x0aeb0000 0x2008>;
64+
reg-names = "mdp", "vbif";
65+
66+
clocks = <&gcc_disp_hf_axi_clk>,
67+
<&dispcc_mdss_ahb_clk>,
68+
<&dispcc_mdss_rot_clk>,
69+
<&dispcc_mdss_mdp_lut_clk>,
70+
<&dispcc_mdss_mdp_clk>,
71+
<&dispcc_mdss_vsync_clk>;
72+
clock-names = "bus",
73+
"iface",
74+
"rot",
75+
"lut",
76+
"core",
77+
"vsync";
78+
79+
assigned-clocks = <&dispcc_mdss_vsync_clk>;
80+
assigned-clock-rates = <19200000>;
81+
82+
operating-points-v2 = <&mdp_opp_table>;
83+
power-domains = <&rpmhpd RPMHPD_CX>;
84+
85+
interrupt-parent = <&mdss>;
86+
interrupts = <0>;
87+
88+
ports {
89+
#address-cells = <1>;
90+
#size-cells = <0>;
91+
92+
port@0 {
93+
reg = <0>;
94+
dpu_intf1_out: endpoint {
95+
remote-endpoint = <&mdss_dsi0_in>;
96+
};
97+
};
98+
99+
port@1 {
100+
reg = <1>;
101+
dpu_intf2_out: endpoint {
102+
remote-endpoint = <&mdss_dsi1_in>;
103+
};
104+
};
105+
106+
port@2 {
107+
reg = <2>;
108+
dpu_intf0_out: endpoint {
109+
remote-endpoint = <&dp_in>;
110+
};
111+
};
112+
};
113+
114+
mdp_opp_table: opp-table {
115+
compatible = "operating-points-v2";
116+
117+
opp-19200000 {
118+
opp-hz = /bits/ 64 <19200000>;
119+
required-opps = <&rpmhpd_opp_min_svs>;
120+
};
121+
122+
opp-200000000 {
123+
opp-hz = /bits/ 64 <200000000>;
124+
required-opps = <&rpmhpd_opp_low_svs>;
125+
};
126+
127+
opp-300000000 {
128+
opp-hz = /bits/ 64 <300000000>;
129+
required-opps = <&rpmhpd_opp_svs>;
130+
};
131+
132+
opp-344000000 {
133+
opp-hz = /bits/ 64 <344000000>;
134+
required-opps = <&rpmhpd_opp_svs_l1>;
135+
};
136+
137+
opp-430000000 {
138+
opp-hz = /bits/ 64 <430000000>;
139+
required-opps = <&rpmhpd_opp_nom>;
140+
};
141+
};
142+
};
143+
...

0 commit comments

Comments
 (0)