Skip to content

Commit 8b70b5f

Browse files
committed
Merge tag 'drm-misc-next-2021-12-16' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 5.17: UAPI Changes: * vmwgfx: Version bump to 2.20 Cross-subsystem Changes: * of: Create simple-framebuffer devices in of_platform_default_init() Core Changes: * Replace include <linux/kernel.h> with more fine-grained includes * Document DRM_IOCTL_MODE_GETFB2 * format-helper: Support XRGB2101010 source buffers Driver Changes: * amdgpu: Fix runtime PM on some configs * ast: Fix I2C initialization * bridge: ti-sn65dsi86: Set regmap max_register * panel: Add Team Source Display TST043015CMHX plus DT bindings * simpledrm: Add support for Apple M1 * sprd: Add various drivers plus DT bindings * vc4: Support 10-bit YUV 4:2:0 output; Fix clock-rate updates * vmwgfx: Implement GEM support; Implement GL 4.3 support Signed-off-by: Dave Airlie <[email protected]> From: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents eacef9f + 9758ff2 commit 8b70b5f

Some content is hidden

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

89 files changed

+4314
-2333
lines changed

Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,14 @@ properties:
7979
- port@0
8080
- port@1
8181

82+
pclk-sample:
83+
description:
84+
Data sampling on rising or falling edge.
85+
enum:
86+
- 0 # Falling edge
87+
- 1 # Rising edge
88+
default: 0
89+
8290
powerdown-gpios:
8391
description:
8492
The GPIO used to control the power down line of this device.
@@ -102,6 +110,16 @@ then:
102110
properties:
103111
data-mapping: false
104112

113+
if:
114+
not:
115+
properties:
116+
compatible:
117+
contains:
118+
const: lvds-encoder
119+
then:
120+
properties:
121+
pclk-sample: false
122+
105123
required:
106124
- compatible
107125
- ports

Documentation/devicetree/bindings/display/panel/panel-simple.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,8 @@ properties:
290290
- starry,kr070pe2t
291291
# Starry 12.2" (1920x1200 pixels) TFT LCD panel
292292
- starry,kr122ea0sra
293+
# Team Source Display Technology TST043015CMHX 4.3" WQVGA TFT LCD panel
294+
- team-source-display,tst043015cmhx
293295
# Tianma Micro-electronics TM070JDHG30 7.0" WXGA TFT LCD panel
294296
- tianma,tm070jdhg30
295297
# Tianma Micro-electronics TM070JVHG33 7.0" WXGA TFT LCD panel
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/sprd/sprd,display-subsystem.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Unisoc DRM master device
8+
9+
maintainers:
10+
- Kevin Tang <[email protected]>
11+
12+
description: |
13+
The Unisoc DRM master device is a virtual device needed to list all
14+
DPU devices or other display interface nodes that comprise the
15+
graphics subsystem.
16+
17+
Unisoc's display pipeline have several components as below description,
18+
multi display controllers and corresponding physical interfaces.
19+
For different display scenarios, dpu0 and dpu1 maybe binding to different
20+
encoder.
21+
22+
E.g:
23+
dpu0 and dpu1 both binding to DSI for dual mipi-dsi display;
24+
dpu0 binding to DSI for primary display, and dpu1 binding to DP for external display;
25+
26+
+-----------------------------------------+
27+
| |
28+
| +---------+ |
29+
+----+ | +----+ +---------+ |DPHY/CPHY| | +------+
30+
| +----->+dpu0+--->+MIPI|DSI +--->+Combo +----->+Panel0|
31+
|AXI | | +----+ +---------+ +---------+ | +------+
32+
| | | ^ |
33+
| | | | |
34+
| | | +-----------+ |
35+
| | | | |
36+
|APB | | +--+-+ +-----------+ +---+ | +------+
37+
| +----->+dpu1+--->+DisplayPort+--->+PHY+--------->+Panel1|
38+
| | | +----+ +-----------+ +---+ | +------+
39+
+----+ | |
40+
+-----------------------------------------+
41+
42+
properties:
43+
compatible:
44+
const: sprd,display-subsystem
45+
46+
ports:
47+
$ref: /schemas/types.yaml#/definitions/phandle-array
48+
description:
49+
Should contain a list of phandles pointing to display interface port
50+
of DPU devices.
51+
52+
required:
53+
- compatible
54+
- ports
55+
56+
additionalProperties: false
57+
58+
examples:
59+
- |
60+
display-subsystem {
61+
compatible = "sprd,display-subsystem";
62+
ports = <&dpu_out>;
63+
};
64+
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/sprd/sprd,sharkl3-dpu.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Unisoc Sharkl3 Display Processor Unit (DPU)
8+
9+
maintainers:
10+
- Kevin Tang <[email protected]>
11+
12+
description: |
13+
DPU (Display Processor Unit) is the Display Controller for the Unisoc SoCs
14+
which transfers the image data from a video memory buffer to an internal
15+
LCD interface.
16+
17+
properties:
18+
compatible:
19+
const: sprd,sharkl3-dpu
20+
21+
reg:
22+
maxItems: 1
23+
24+
interrupts:
25+
maxItems: 1
26+
27+
clocks:
28+
minItems: 2
29+
30+
clock-names:
31+
items:
32+
- const: clk_src_128m
33+
- const: clk_src_384m
34+
35+
power-domains:
36+
maxItems: 1
37+
38+
iommus:
39+
maxItems: 1
40+
41+
port:
42+
type: object
43+
description:
44+
A port node with endpoint definitions as defined in
45+
Documentation/devicetree/bindings/media/video-interfaces.txt.
46+
That port should be the output endpoint, usually output to
47+
the associated DSI.
48+
49+
required:
50+
- compatible
51+
- reg
52+
- interrupts
53+
- clocks
54+
- clock-names
55+
- port
56+
57+
additionalProperties: false
58+
59+
examples:
60+
- |
61+
#include <dt-bindings/interrupt-controller/arm-gic.h>
62+
#include <dt-bindings/clock/sprd,sc9860-clk.h>
63+
dpu: dpu@63000000 {
64+
compatible = "sprd,sharkl3-dpu";
65+
reg = <0x63000000 0x1000>;
66+
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
67+
clock-names = "clk_src_128m", "clk_src_384m";
68+
69+
clocks = <&pll CLK_TWPLL_128M>,
70+
<&pll CLK_TWPLL_384M>;
71+
72+
dpu_port: port {
73+
dpu_out: endpoint {
74+
remote-endpoint = <&dsi_in>;
75+
};
76+
};
77+
};
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/sprd/sprd,sharkl3-dsi-host.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Unisoc MIPI DSI Controller
8+
9+
maintainers:
10+
- Kevin Tang <[email protected]>
11+
12+
properties:
13+
compatible:
14+
const: sprd,sharkl3-dsi-host
15+
16+
reg:
17+
maxItems: 1
18+
19+
interrupts:
20+
maxItems: 2
21+
22+
clocks:
23+
minItems: 1
24+
25+
clock-names:
26+
items:
27+
- const: clk_src_96m
28+
29+
power-domains:
30+
maxItems: 1
31+
32+
ports:
33+
type: object
34+
35+
properties:
36+
"#address-cells":
37+
const: 1
38+
39+
"#size-cells":
40+
const: 0
41+
42+
port@0:
43+
type: object
44+
description:
45+
A port node with endpoint definitions as defined in
46+
Documentation/devicetree/bindings/media/video-interfaces.txt.
47+
That port should be the input endpoint, usually coming from
48+
the associated DPU.
49+
50+
required:
51+
- "#address-cells"
52+
- "#size-cells"
53+
- port@0
54+
55+
additionalProperties: false
56+
57+
required:
58+
- compatible
59+
- reg
60+
- interrupts
61+
- clocks
62+
- clock-names
63+
- ports
64+
65+
additionalProperties: false
66+
67+
examples:
68+
- |
69+
#include <dt-bindings/interrupt-controller/arm-gic.h>
70+
#include <dt-bindings/clock/sprd,sc9860-clk.h>
71+
dsi: dsi@63100000 {
72+
compatible = "sprd,sharkl3-dsi-host";
73+
reg = <0x63100000 0x1000>;
74+
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
75+
<GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
76+
clock-names = "clk_src_96m";
77+
clocks = <&pll CLK_TWPLL_96M>;
78+
ports {
79+
#address-cells = <1>;
80+
#size-cells = <0>;
81+
port@0 {
82+
reg = <0>;
83+
dsi_in: endpoint {
84+
remote-endpoint = <&dpu_out>;
85+
};
86+
};
87+
};
88+
};

Documentation/devicetree/bindings/vendor-prefixes.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1236,6 +1236,8 @@ patternProperties:
12361236
description: Truly Semiconductors Limited
12371237
"^visionox,.*":
12381238
description: Visionox
1239+
"^team-source-display,.*":
1240+
description: Shenzhen Team Source Display Technology Co., Ltd. (TSD)
12391241
"^tsd,.*":
12401242
description: Theobroma Systems Design und Consulting GmbH
12411243
"^tyan,.*":

drivers/gpu/drm/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,8 @@ source "drivers/gpu/drm/xlnx/Kconfig"
388388

389389
source "drivers/gpu/drm/gud/Kconfig"
390390

391+
source "drivers/gpu/drm/sprd/Kconfig"
392+
391393
config DRM_HYPERV
392394
tristate "DRM Support for Hyper-V synthetic video device"
393395
depends on DRM && PCI && MMU && HYPERV

drivers/gpu/drm/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,3 +134,4 @@ obj-$(CONFIG_DRM_TIDSS) += tidss/
134134
obj-y += xlnx/
135135
obj-y += gud/
136136
obj-$(CONFIG_DRM_HYPERV) += hyperv/
137+
obj-$(CONFIG_DRM_SPRD) += sprd/

drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,6 @@ static int amdgpu_dma_buf_attach(struct dma_buf *dmabuf,
6161
if (pci_p2pdma_distance_many(adev->pdev, &attach->dev, 1, true) < 0)
6262
attach->peer2peer = false;
6363

64-
if (attach->dev->driver == adev->dev->driver)
65-
return 0;
66-
6764
r = pm_runtime_get_sync(adev_to_drm(adev)->dev);
6865
if (r < 0)
6966
goto out;

drivers/gpu/drm/ast/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
# Makefile for the drm device driver. This driver provides support for the
44
# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
55

6-
ast-y := ast_drv.o ast_main.o ast_mm.o ast_mode.o ast_post.o ast_dp501.o
6+
ast-y := ast_drv.o ast_i2c.o ast_main.o ast_mm.o ast_mode.o ast_post.o ast_dp501.o
77

88
obj-$(CONFIG_DRM_AST) := ast.o

0 commit comments

Comments
 (0)