Skip to content

Commit af3c8d9

Browse files
committed
Merge tag 'drm-for-v4.13' of git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie: "This is the main pull request for the drm, I think I've got one later driver pull for mediatek SoC driver, I'm undecided on if it needs to go to you yet. Otherwise summary below: Core drm: - Atomic add driver private objects - Deprecate preclose hook in modern drivers - MST bandwidth tracking - Use kvmalloc in more places - Add mode_valid hook for crtc/encoder/bridge - Reduce sync_file construction time - Documentation updates - New DRM synchronisation object support New drivers: - pl111 - pl111 CLCD display controller Panel: - Innolux P079ZCA panel driver - Add NL12880B20-05, NL192108AC18-02D, P320HVN03 panels - panel-samsung-s6e3ha2: Add s6e3hf2 panel support i915: - SKL+ watermark fixes - G4x/G33 reset improvements - DP AUX backlight improvements - Buffer based GuC/host communication - New getparam for (sub)slice infomation - Cannonlake and Coffeelake initial patches - Execbuf optimisations radeon/amdgpu: - Lots of Vega10 bug fixes - Preliminary raven support - KIQ support for compute rings - MEC queue management rework - DCE6 Audio support - SR-IOV improvements - Better radeon/amdgpu selection support nouveau: - HDMI stereoscopic support - Display code rework for >= GM20x GPUs msm: - GEM rework for fine-grained locking - Per-process pagetable work - HDMI fixes for Snapdragon 820. vc4: - Remove 256MB CMA limit from vc4 - Add out-fence support - Add support for cygnus - Get/set tiling ioctls support - Add T-format tiling support for scanout zte: - add VGA support. etnaviv: - Thermal throttle support for newer GPUs - Restore userspace buffer cache performance - dma-buf sync fix stm: - add stm32f429 display support exynos: - Rework vblank handling - Fixup sw-trigger code sun4i: - V3s display engine support - HDMI support for older SoCs - Preliminary work on dual-pipeline SoCs. rcar-du: - VSP work imx-drm: - Remove counter load enable from PRE - Double read/write reduction flag support tegra: - Documentation for the host1x and drm driver. - Lots of staging ioctl fixes due to grate project work. omapdrm: - dma-buf fence support - TILER rotation fixes" * tag 'drm-for-v4.13' of git://people.freedesktop.org/~airlied/linux: (1270 commits) drm: Remove unused drm_file parameter to drm_syncobj_replace_fence() drm/amd/powerplay: fix bug fail to remove sysfs when rmmod amdgpu. amdgpu: Set cik/si_support to 1 by default if radeon isn't built drm/amdgpu/gfx9: fix driver reload with KIQ drm/amdgpu/gfx8: fix driver reload with KIQ drm/amdgpu: Don't call amd_powerplay_destroy() if we don't have powerplay drm/ttm: Fix use-after-free in ttm_bo_clean_mm drm/amd/amdgpu: move get memory type function from early init to sw init drm/amdgpu/cgs: always set reference clock in mode_info drm/amdgpu: fix vblank_time when displays are off drm/amd/powerplay: power value format change for Vega10 drm/amdgpu/gfx9: support the amdgpu.disable_cu option drm/amd/powerplay: change PPSMC_MSG_GetCurrPkgPwr for Vega10 drm/amdgpu: Make amdgpu_cs_parser_init static (v2) drm/amdgpu/cs: fix a typo in a comment drm/amdgpu: Fix the exported always on CU bitmap drm/amdgpu/gfx9: gfx_v9_0_enable_gfx_static_mg_power_gating() can be static drm/amdgpu/psp: upper_32_bits/lower_32_bits for address setup drm/amd/powerplay/cz: print message if smc message fails drm/amdgpu: fix typo in amdgpu_debugfs_test_ib_init ...
2 parents d3e3b7e + 00fc2c2 commit af3c8d9

File tree

903 files changed

+359488
-25526
lines changed

Some content is hidden

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

903 files changed

+359488
-25526
lines changed

Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ with HDMI output and the HVS (Hardware Video Scaler) for compositing
55
display planes.
66

77
Required properties for VC4:
8-
- compatible: Should be "brcm,bcm2835-vc4"
8+
- compatible: Should be "brcm,bcm2835-vc4" or "brcm,cygnus-vc4"
99

1010
Required properties for Pixel Valve:
1111
- compatible: Should be one of "brcm,bcm2835-pixelvalve0",
@@ -54,11 +54,14 @@ Required properties for VEC:
5454
See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
5555

5656
Required properties for V3D:
57-
- compatible: Should be "brcm,bcm2835-v3d"
57+
- compatible: Should be "brcm,bcm2835-v3d" or "brcm,cygnus-v3d"
5858
- reg: Physical base address and length of the V3D's registers
5959
- interrupts: The interrupt number
6060
See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
6161

62+
Optional properties for V3D:
63+
- clocks: The clock the unit runs on
64+
6265
Required properties for DSI:
6366
- compatible: Should be "brcm,bcm2835-dsi0" or "brcm,bcm2835-dsi1"
6467
- reg: Physical base address and length of the DSI block's registers

Documentation/devicetree/bindings/display/exynos/exynos5433-decon.txt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ Required properties:
88
- compatible: value should be one of:
99
"samsung,exynos5433-decon", "samsung,exynos5433-decon-tv";
1010
- reg: physical base address and length of the DECON registers set.
11-
- interrupts: should contain a list of all DECON IP block interrupts in the
12-
order: VSYNC, LCD_SYSTEM. The interrupt specifier format
13-
depends on the interrupt controller used.
14-
- interrupt-names: should contain the interrupt names: "vsync", "lcd_sys"
15-
in the same order as they were listed in the interrupts
16-
property.
11+
- interrupt-names: should contain the interrupt names depending on mode of work:
12+
video mode: "vsync",
13+
command mode: "lcd_sys",
14+
command mode with software trigger: "lcd_sys", "te".
15+
- interrupts or interrupts-extended: list of interrupt specifiers corresponding
16+
to names privided in interrupt-names, as described in
17+
interrupt-controller/interrupts.txt
1718
- clocks: must include clock specifiers corresponding to entries in the
1819
clock-names property.
1920
- clock-names: list of clock names sorted in the same order as the clocks
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
AU Optronics Corporation 31.5" FHD (1920x1080) TFT LCD panel
2+
3+
Required properties:
4+
- compatible: should be "auo,p320hvn03"
5+
- power-supply: as specified in the base binding
6+
7+
This binding is compatible with the simple-panel binding, which is specified
8+
in simple-panel.txt in this directory.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Innolux P079ZCA 7.85" 768x1024 TFT LCD panel
2+
3+
Required properties:
4+
- compatible: should be "innolux,p079zca"
5+
- reg: DSI virtual channel of the peripheral
6+
- power-supply: phandle of the regulator that provides the supply voltage
7+
- enable-gpios: panel enable gpio
8+
9+
Optional properties:
10+
- backlight: phandle of the backlight device attached to the panel
11+
12+
Example:
13+
14+
&mipi_dsi {
15+
panel {
16+
compatible = "innolux,p079zca";
17+
reg = <0>;
18+
power-supply = <...>;
19+
backlight = <&backlight>;
20+
enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
21+
status = "okay";
22+
};
23+
};
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
NEC LCD Technologies, Ltd. 12.1" WXGA (1280x800) LVDS TFT LCD panel
2+
3+
Required properties:
4+
- compatible: should be "nec,nl12880bc20-05"
5+
- power-supply: as specified in the base binding
6+
7+
This binding is compatible with the simple-panel binding, which is specified
8+
in simple-panel.txt in this directory.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
NLT Technologies, Ltd. 15.6" FHD (1920x1080) LVDS TFT LCD panel
2+
3+
Required properties:
4+
- compatible: should be "nlt,nl192108ac18-02d"
5+
- power-supply: as specified in the base binding
6+
7+
This binding is compatible with the simple-panel binding, which is specified
8+
in simple-panel.txt in this directory.

Documentation/devicetree/bindings/display/panel/samsung,s6e3ha2.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
Samsung S6E3HA2 5.7" 1440x2560 AMOLED panel
2+
Samsung S6E3HF2 5.65" 1600x2560 AMOLED panel
23

34
Required properties:
4-
- compatible: "samsung,s6e3ha2"
5+
- compatible: should be one of:
6+
"samsung,s6e3ha2",
7+
"samsung,s6e3hf2".
58
- reg: the virtual channel number of a DSI peripheral
69
- vdd3-supply: I/O voltage supply
710
- vci-supply: voltage supply for analog circuits
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
* STMicroelectronics STM32 lcd-tft display controller
2+
3+
- ltdc: lcd-tft display controller host
4+
must be a sub-node of st-display-subsystem
5+
Required properties:
6+
- compatible: "st,stm32-ltdc"
7+
- reg: Physical base address of the IP registers and length of memory mapped region.
8+
- clocks: A list of phandle + clock-specifier pairs, one for each
9+
entry in 'clock-names'.
10+
- clock-names: A list of clock names. For ltdc it should contain:
11+
- "lcd" for the clock feeding the output pixel clock & IP clock.
12+
- resets: reset to be used by the device (defined by use of RCC macro).
13+
Required nodes:
14+
- Video port for RGB output.
15+
16+
Example:
17+
18+
/ {
19+
...
20+
soc {
21+
...
22+
ltdc: display-controller@40016800 {
23+
compatible = "st,stm32-ltdc";
24+
reg = <0x40016800 0x200>;
25+
interrupts = <88>, <89>;
26+
resets = <&rcc STM32F4_APB2_RESET(LTDC)>;
27+
clocks = <&rcc 1 CLK_LCD>;
28+
clock-names = "lcd";
29+
30+
port {
31+
ltdc_out_rgb: endpoint {
32+
};
33+
};
34+
};
35+
};
36+
};

Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt

Lines changed: 121 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,44 @@ Allwinner A10 Display Pipeline
44
The Allwinner A10 Display pipeline is composed of several components
55
that are going to be documented below:
66

7+
For the input port of all components up to the TCON in the display
8+
pipeline, if there are multiple components, the local endpoint IDs
9+
must correspond to the index of the upstream block. For example, if
10+
the remote endpoint is Frontend 1, then the local endpoint ID must
11+
be 1.
12+
13+
Conversely, for the output ports of the same group, the remote endpoint
14+
ID must be the index of the local hardware block. If the local backend
15+
is backend 1, then the remote endpoint ID must be 1.
16+
17+
HDMI Encoder
18+
------------
19+
20+
The HDMI Encoder supports the HDMI video and audio outputs, and does
21+
CEC. It is one end of the pipeline.
22+
23+
Required properties:
24+
- compatible: value must be one of:
25+
* allwinner,sun5i-a10s-hdmi
26+
- reg: base address and size of memory-mapped region
27+
- interrupts: interrupt associated to this IP
28+
- clocks: phandles to the clocks feeding the HDMI encoder
29+
* ahb: the HDMI interface clock
30+
* mod: the HDMI module clock
31+
* pll-0: the first video PLL
32+
* pll-1: the second video PLL
33+
- clock-names: the clock names mentioned above
34+
- dmas: phandles to the DMA channels used by the HDMI encoder
35+
* ddc-tx: The channel for DDC transmission
36+
* ddc-rx: The channel for DDC reception
37+
* audio-tx: The channel used for audio transmission
38+
- dma-names: the channel names mentioned above
39+
40+
- ports: A ports node with endpoint definitions as defined in
41+
Documentation/devicetree/bindings/media/video-interfaces.txt. The
42+
first port should be the input endpoint. The second should be the
43+
output, usually to an HDMI connector.
44+
745
TV Encoder
846
----------
947

@@ -31,6 +69,7 @@ Required properties:
3169
* allwinner,sun6i-a31-tcon
3270
* allwinner,sun6i-a31s-tcon
3371
* allwinner,sun8i-a33-tcon
72+
* allwinner,sun8i-v3s-tcon
3473
- reg: base address and size of memory-mapped region
3574
- interrupts: interrupt associated to this IP
3675
- clocks: phandles to the clocks feeding the TCON. Three are needed:
@@ -47,12 +86,15 @@ Required properties:
4786
Documentation/devicetree/bindings/media/video-interfaces.txt. The
4887
first port should be the input endpoint, the second one the output
4988

50-
The output should have two endpoints. The first is the block
51-
connected to the TCON channel 0 (usually a panel or a bridge), the
52-
second the block connected to the TCON channel 1 (usually the TV
53-
encoder)
89+
The output may have multiple endpoints. The TCON has two channels,
90+
usually with the first channel being used for the panels interfaces
91+
(RGB, LVDS, etc.), and the second being used for the outputs that
92+
require another controller (TV Encoder, HDMI, etc.). The endpoints
93+
will take an extra property, allwinner,tcon-channel, to specify the
94+
channel the endpoint is associated to. If that property is not
95+
present, the endpoint number will be used as the channel number.
5496

55-
On SoCs other than the A33, there is one more clock required:
97+
On SoCs other than the A33 and V3s, there is one more clock required:
5698
- 'tcon-ch1': The clock driving the TCON channel 1
5799

58100
DRC
@@ -138,6 +180,26 @@ Required properties:
138180
Documentation/devicetree/bindings/media/video-interfaces.txt. The
139181
first port should be the input endpoints, the second one the outputs
140182

183+
Display Engine 2.0 Mixer
184+
------------------------
185+
186+
The DE2 mixer have many functionalities, currently only layer blending is
187+
supported.
188+
189+
Required properties:
190+
- compatible: value must be one of:
191+
* allwinner,sun8i-v3s-de2-mixer
192+
- reg: base address and size of the memory-mapped region.
193+
- clocks: phandles to the clocks feeding the mixer
194+
* bus: the mixer interface clock
195+
* mod: the mixer module clock
196+
- clock-names: the clock names mentioned above
197+
- resets: phandles to the reset controllers driving the mixer
198+
199+
- ports: A ports node with endpoint definitions as defined in
200+
Documentation/devicetree/bindings/media/video-interfaces.txt. The
201+
first port should be the input endpoints, the second one the output
202+
141203

142204
Display Engine Pipeline
143205
-----------------------
@@ -148,13 +210,15 @@ extra node.
148210

149211
Required properties:
150212
- compatible: value must be one of:
213+
* allwinner,sun5i-a10s-display-engine
151214
* allwinner,sun5i-a13-display-engine
152215
* allwinner,sun6i-a31-display-engine
153216
* allwinner,sun6i-a31s-display-engine
154217
* allwinner,sun8i-a33-display-engine
218+
* allwinner,sun8i-v3s-display-engine
155219

156220
- allwinner,pipelines: list of phandle to the display engine
157-
frontends available.
221+
frontends (DE 1.0) or mixers (DE 2.0) available.
158222

159223
Example:
160224

@@ -173,6 +237,57 @@ panel: panel {
173237
};
174238
};
175239

240+
connector {
241+
compatible = "hdmi-connector";
242+
type = "a";
243+
244+
port {
245+
hdmi_con_in: endpoint {
246+
remote-endpoint = <&hdmi_out_con>;
247+
};
248+
};
249+
};
250+
251+
hdmi: hdmi@01c16000 {
252+
compatible = "allwinner,sun5i-a10s-hdmi";
253+
reg = <0x01c16000 0x1000>;
254+
interrupts = <58>;
255+
clocks = <&ccu CLK_AHB_HDMI>, <&ccu CLK_HDMI>,
256+
<&ccu CLK_PLL_VIDEO0_2X>,
257+
<&ccu CLK_PLL_VIDEO1_2X>;
258+
clock-names = "ahb", "mod", "pll-0", "pll-1";
259+
dmas = <&dma SUN4I_DMA_NORMAL 16>,
260+
<&dma SUN4I_DMA_NORMAL 16>,
261+
<&dma SUN4I_DMA_DEDICATED 24>;
262+
dma-names = "ddc-tx", "ddc-rx", "audio-tx";
263+
status = "disabled";
264+
265+
ports {
266+
#address-cells = <1>;
267+
#size-cells = <0>;
268+
269+
port@0 {
270+
#address-cells = <1>;
271+
#size-cells = <0>;
272+
reg = <0>;
273+
274+
hdmi_in_tcon0: endpoint {
275+
remote-endpoint = <&tcon0_out_hdmi>;
276+
};
277+
};
278+
279+
port@1 {
280+
#address-cells = <1>;
281+
#size-cells = <0>;
282+
reg = <1>;
283+
284+
hdmi_out_con: endpoint {
285+
remote-endpoint = <&hdmi_con_in>;
286+
};
287+
};
288+
};
289+
};
290+
176291
tve0: tv-encoder@01c0a000 {
177292
compatible = "allwinner,sun4i-a10-tv-encoder";
178293
reg = <0x01c0a000 0x1000>;

Documentation/devicetree/bindings/display/zte,vou.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,18 @@ Required properties:
5858
integer cells. The first cell is the offset of SYSCTRL register used
5959
to control TV Encoder DAC power, and the second cell is the bit mask.
6060

61+
* VGA output device
62+
63+
Required properties:
64+
- compatible: should be "zte,zx296718-vga"
65+
- reg: Physical base address and length of the VGA device IO region
66+
- interrupts : VGA interrupt number to CPU
67+
- clocks: Phandle with clock-specifier pointing to VGA I2C clock.
68+
- clock-names: Must be "i2c_wclk".
69+
- zte,vga-power-control: the phandle to SYSCTRL block followed by two
70+
integer cells. The first cell is the offset of SYSCTRL register used
71+
to control VGA DAC power, and the second cell is the bit mask.
72+
6173
Example:
6274

6375
vou: vou@1440000 {
@@ -81,6 +93,15 @@ vou: vou@1440000 {
8193
"main_wclk", "aux_wclk";
8294
};
8395

96+
vga: vga@8000 {
97+
compatible = "zte,zx296718-vga";
98+
reg = <0x8000 0x1000>;
99+
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
100+
clocks = <&topcrm VGA_I2C_WCLK>;
101+
clock-names = "i2c_wclk";
102+
zte,vga-power-control = <&sysctrl 0x170 0xe0>;
103+
};
104+
84105
hdmi: hdmi@c000 {
85106
compatible = "zte,zx296718-hdmi";
86107
reg = <0xc000 0x4000>;

0 commit comments

Comments
 (0)