Skip to content

Commit 205bd15

Browse files
committed
Merge tag 'drm-msm-next-2026-01-23' of https://gitlab.freedesktop.org/drm/msm into drm-next
Changes for v6.20 GPU: - Document a612/RGMU dt bindings - UBWC 6.0 support (for A840 / Kaanapali) - a225 support - Fixes DPU: - Switched to use virtual planes by default - Fixed DSI CMD panels on DPU 3.x - Rewrote format handling to remove intermediate representation - Fixed watchdog on DPU 8.x+ - Fixed TE / Vsync source setting on DPU 8.x+ - Added 3D_Mux on SC7280 - Kaanapali platform support - Fixed UBWC register programming - Made RM reserve DSPP-enabled mixers for CRTCs with LMs. - Gamma correction support DP: - Enabled support for eDP 1.4+ link rate tables - Fixed MDSS1 DP indices on SA8775P, making them to work - Fixed msm_dp_ctrl_config_msa() to work with LLVM 20 DSI: - Documented QCS8300 as compatible with SA8775P - Kaanapali platform support DSI PHY: - switched to divider_determine_rate() MDP5: - Dropped support for MSM8998, SDM660 and SDM630 (switched over to DPU) MDSS: - Kaanapali platform support - Fixed UBWC register programming Signed-off-by: Dave Airlie <airlied@redhat.com> From: Rob Clark <rob.clark@oss.qualcomm.com> Link: https://patch.msgid.link/CACSVV03Sbeca93A+gGh-TKpzFYVabbkWVgPCCicG0_NQG+5Y2A@mail.gmail.com
2 parents 6704d98 + 50c4a49 commit 205bd15

61 files changed

Lines changed: 2704 additions & 2179 deletions

Some content is hidden

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

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

Lines changed: 7 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,kaanapali-dsi-ctrl
1819
- qcom,msm8226-dsi-ctrl
1920
- qcom,msm8916-dsi-ctrl
2021
- qcom,msm8953-dsi-ctrl
@@ -45,6 +46,11 @@ properties:
4546
- qcom,sm8650-dsi-ctrl
4647
- qcom,sm8750-dsi-ctrl
4748
- const: qcom,mdss-dsi-ctrl
49+
- items:
50+
- enum:
51+
- qcom,qcs8300-dsi-ctrl
52+
- const: qcom,sa8775p-dsi-ctrl
53+
- const: qcom,mdss-dsi-ctrl
4854
- enum:
4955
- qcom,dsi-ctrl-6g-qcm2290
5056
- qcom,mdss-dsi-ctrl # This should always come with an SoC-specific compatible
@@ -369,6 +375,7 @@ allOf:
369375
compatible:
370376
contains:
371377
enum:
378+
- qcom,kaanapali-dsi-ctrl
372379
- qcom,sm8750-dsi-ctrl
373380
then:
374381
properties:

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

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,25 @@ allOf:
1414

1515
properties:
1616
compatible:
17-
enum:
18-
- qcom,dsi-phy-7nm
19-
- qcom,dsi-phy-7nm-8150
20-
- qcom,sa8775p-dsi-phy-5nm
21-
- qcom,sar2130p-dsi-phy-5nm
22-
- qcom,sc7280-dsi-phy-7nm
23-
- qcom,sm6375-dsi-phy-7nm
24-
- qcom,sm8350-dsi-phy-5nm
25-
- qcom,sm8450-dsi-phy-5nm
26-
- qcom,sm8550-dsi-phy-4nm
27-
- qcom,sm8650-dsi-phy-4nm
28-
- qcom,sm8750-dsi-phy-3nm
17+
oneOf:
18+
- items:
19+
- enum:
20+
- qcom,dsi-phy-7nm
21+
- qcom,dsi-phy-7nm-8150
22+
- qcom,kaanapali-dsi-phy-3nm
23+
- qcom,sa8775p-dsi-phy-5nm
24+
- qcom,sar2130p-dsi-phy-5nm
25+
- qcom,sc7280-dsi-phy-7nm
26+
- qcom,sm6375-dsi-phy-7nm
27+
- qcom,sm8350-dsi-phy-5nm
28+
- qcom,sm8450-dsi-phy-5nm
29+
- qcom,sm8550-dsi-phy-4nm
30+
- qcom,sm8650-dsi-phy-4nm
31+
- qcom,sm8750-dsi-phy-3nm
32+
- items:
33+
- enum:
34+
- qcom,qcs8300-dsi-phy-5nm
35+
- const: qcom,sa8775p-dsi-phy-5nm
2936

3037
reg:
3138
items:

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

Lines changed: 62 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ properties:
4545
- const: amd,imageon
4646
4747
clocks:
48-
minItems: 2
48+
minItems: 1
4949
maxItems: 7
5050

5151
clock-names:
52-
minItems: 2
52+
minItems: 1
5353
maxItems: 7
5454

5555
reg:
@@ -378,35 +378,74 @@ allOf:
378378
- const: xo
379379
description: GPUCC clocksource clock
380380

381+
required:
382+
- clocks
383+
- clock-names
384+
385+
- if:
386+
properties:
387+
compatible:
388+
contains:
389+
const: qcom,adreno-612.0
390+
then:
391+
properties:
392+
clocks:
393+
items:
394+
- description: GPU Core clock
395+
396+
clock-names:
397+
items:
398+
- const: core
399+
400+
reg:
401+
minItems: 3
402+
maxItems: 3
403+
381404
reg-names:
382-
minItems: 1
383405
items:
384406
- const: kgsl_3d0_reg_memory
407+
- const: cx_mem
385408
- const: cx_dbgc
386409

387410
required:
388411
- clocks
389412
- clock-names
390-
else:
391-
if:
392-
properties:
393-
compatible:
394-
contains:
395-
oneOf:
396-
- pattern: '^qcom,adreno-[67][0-9][0-9]\.[0-9]+$'
397-
- pattern: '^qcom,adreno-[0-9a-f]{8}$'
398-
399-
then: # Starting with A6xx, the clocks are usually defined in the GMU node
400-
properties:
401-
clocks: false
402-
clock-names: false
403-
404-
reg-names:
405-
minItems: 1
406-
items:
407-
- const: kgsl_3d0_reg_memory
408-
- const: cx_mem
409-
- const: cx_dbgc
413+
414+
- if:
415+
properties:
416+
compatible:
417+
contains:
418+
enum:
419+
- qcom,adreno-615.0
420+
- qcom,adreno-618.0
421+
- qcom,adreno-619.0
422+
- qcom,adreno-621.0
423+
- qcom,adreno-623.0
424+
- qcom,adreno-630.2
425+
- qcom,adreno-635.0
426+
- qcom,adreno-640.1
427+
- qcom,adreno-650.2
428+
- qcom,adreno-660.1
429+
- qcom,adreno-663.0
430+
- qcom,adreno-680.1
431+
- qcom,adreno-690.0
432+
- qcom,adreno-730.1
433+
- qcom,adreno-43030c00
434+
- qcom,adreno-43050a01
435+
- qcom,adreno-43050c01
436+
- qcom,adreno-43051401
437+
438+
then: # Starting with A6xx, the clocks are usually defined in the GMU node
439+
properties:
440+
clocks: false
441+
clock-names: false
442+
443+
reg-names:
444+
minItems: 1
445+
items:
446+
- const: kgsl_3d0_reg_memory
447+
- const: cx_mem
448+
- const: cx_dbgc
410449

411450
examples:
412451
- |
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
3+
%YAML 1.2
4+
---
5+
6+
$id: http://devicetree.org/schemas/display/msm/qcom,adreno-rgmu.yaml#
7+
$schema: http://devicetree.org/meta-schemas/core.yaml#
8+
9+
title: RGMU attached to certain Adreno GPUs
10+
11+
maintainers:
12+
- Rob Clark <robin.clark@oss.qualcomm.com>
13+
14+
description:
15+
RGMU (Reduced Graphics Management Unit) IP is present in some GPUs that
16+
belong to Adreno A6xx family. It is a small state machine that helps to
17+
toggle the GX GDSC (connected to CX rail) to implement IFPC feature and save
18+
power.
19+
20+
properties:
21+
compatible:
22+
items:
23+
- const: qcom,adreno-rgmu-612.0
24+
- const: qcom,adreno-rgmu
25+
26+
reg:
27+
items:
28+
- description: Core RGMU registers
29+
30+
clocks:
31+
items:
32+
- description: GMU clock
33+
- description: GPU CX clock
34+
- description: GPU AXI clock
35+
- description: GPU MEMNOC clock
36+
- description: GPU SMMU vote clock
37+
38+
clock-names:
39+
items:
40+
- const: gmu
41+
- const: cxo
42+
- const: axi
43+
- const: memnoc
44+
- const: smmu_vote
45+
46+
power-domains:
47+
items:
48+
- description: CX GDSC power domain
49+
- description: GX GDSC power domain
50+
51+
power-domain-names:
52+
items:
53+
- const: cx
54+
- const: gx
55+
56+
interrupts:
57+
items:
58+
- description: GMU OOB interrupt
59+
- description: GMU interrupt
60+
61+
interrupt-names:
62+
items:
63+
- const: oob
64+
- const: gmu
65+
66+
operating-points-v2: true
67+
opp-table:
68+
type: object
69+
70+
required:
71+
- compatible
72+
- reg
73+
- clocks
74+
- clock-names
75+
- power-domains
76+
- power-domain-names
77+
- interrupts
78+
- interrupt-names
79+
- operating-points-v2
80+
81+
additionalProperties: false
82+
83+
examples:
84+
- |
85+
#include <dt-bindings/clock/qcom,qcs615-gpucc.h>
86+
#include <dt-bindings/clock/qcom,qcs615-gcc.h>
87+
#include <dt-bindings/interrupt-controller/arm-gic.h>
88+
#include <dt-bindings/power/qcom,rpmhpd.h>
89+
90+
gmu@506a000 {
91+
compatible = "qcom,adreno-rgmu-612.0", "qcom,adreno-rgmu";
92+
93+
reg = <0x05000000 0x90000>;
94+
95+
clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
96+
<&gpucc GPU_CC_CXO_CLK>,
97+
<&gcc GCC_DDRSS_GPU_AXI_CLK>,
98+
<&gcc GCC_GPU_MEMNOC_GFX_CLK>,
99+
<&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>;
100+
clock-names = "gmu",
101+
"cxo",
102+
"axi",
103+
"memnoc",
104+
"smmu_vote";
105+
106+
power-domains = <&gpucc CX_GDSC>,
107+
<&gpucc GX_GDSC>;
108+
power-domain-names = "cx",
109+
"gx";
110+
111+
interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
112+
<GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
113+
interrupt-names = "oob",
114+
"gmu";
115+
116+
operating-points-v2 = <&gmu_opp_table>;
117+
118+
gmu_opp_table: opp-table {
119+
compatible = "operating-points-v2";
120+
121+
opp-200000000 {
122+
opp-hz = /bits/ 64 <200000000>;
123+
required-opps = <&rpmhpd_opp_low_svs>;
124+
};
125+
};
126+
};

0 commit comments

Comments
 (0)