Skip to content

Commit 9439b37

Browse files
committed
Merge tag 'drm-for-v4.10' of git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie: "This is the main pull request for drm for 4.10 kernel. New drivers: - ZTE VOU display driver (zxdrm) - Amlogic Meson Graphic Controller GXBB/GXL/GXM SoCs (meson) - MXSFB support (mxsfb) Core: - Format handling has been reworked - Better atomic state debugging - drm_mm leak debugging - Atomic explicit fencing support - fbdev helper ops - Documentation updates - MST fbcon fixes Bridge: - Silicon Image SiI8620 driver Panel: - Add support for new simple panels i915: - GVT Device model - Better HDMI2.0 support on skylake - More watermark fixes - GPU idling rework for suspend/resume - DP Audio workarounds - Scheduler prep-work - Opregion CADL handling - GPU scheduler and priority boosting amdgfx/radeon: - Support for virtual devices - New VM manager for non-contig VRAM buffers - UVD powergating - SI register header cleanup - Cursor fixes - Powermanagement fixes nouveau: - Powermangement reworks for better voltage/clock changes - Atomic modesetting support - Displayport Multistream (MST) support. - GP102/104 hang and cursor fixes - GP106 support hisilicon: - hibmc support (BMC chip for aarch64 servers) armada: - add tracing support for overlay change - refactor plane support - de-midlayer the driver omapdrm: - Timing code cleanups rcar-du: - R8A7792/R8A7796 support - Misc fixes. sunxi: - A31 SoC display engine support imx-drm: - YUV format support - Cleanup plane atomic update mali-dp: - Misc fixes dw-hdmi: - Add support for HDMI i2c master controller tegra: - IOMMU support fixes - Error handling fixes tda998x: - Fix connector registration - Improved robustness - Fix infoframe/audio compliance virtio: - fix busid issues - allocate more vbufs qxl: - misc fixes and cleanups. vc4: - Fragment shader threading - ETC1 support - VEC (tv-out) support msm: - A5XX GPU support - Lots of atomic changes tilcdc: - Misc fixes and cleanups. etnaviv: - Fix dma-buf export path - DRAW_INSTANCED support - fix driver on i.MX6SX exynos: - HDMI refactoring fsl-dcu: - fbdev changes" * tag 'drm-for-v4.10' of git://people.freedesktop.org/~airlied/linux: (1343 commits) drm/nouveau/kms/nv50: fix atomic regression on original G80 drm/nouveau/bl: Do not register interface if Apple GMUX detected drm/nouveau/bl: Assign different names to interfaces drm/nouveau/bios/dp: fix handling of LevelEntryTableIndex on DP table 4.2 drm/nouveau/ltc: protect clearing of comptags with mutex drm/nouveau/gr/gf100-: handle GPC/TPC/MPC trap drm/nouveau/core: recognise GP106 chipset drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas drm/nouveau/gr/gf100-: FECS intr handling is not relevant on proprietary ucode drm/nouveau/gr/gf100-: properly ack all FECS error interrupts drm/nouveau/fifo/gf100-: recover from host mmu faults drm: Add fake controlD* symlinks for backwards compat drm/vc4: Don't use drm_put_dev drm/vc4: Document VEC DT binding drm/vc4: Add support for the VEC (Video Encoder) IP drm: Add TV connector states to drm_connector_state drm: Turn DRM_MODE_SUBCONNECTOR_xx definitions into an enum drm/vc4: Fix ->clock_select setting for the VEC encoder drm/amdgpu/dce6: Set MASTER_UPDATE_MODE to 0 in resume_mc_access as well drm/amdgpu: use pin rather than pin_restricted in a few cases ...
2 parents 7079efc + 2cf026a commit 9439b37

File tree

1,010 files changed

+129418
-27360
lines changed

Some content is hidden

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

1,010 files changed

+129418
-27360
lines changed
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
Amlogic Meson Display Controller
2+
================================
3+
4+
The Amlogic Meson Display controller is composed of several components
5+
that are going to be documented below:
6+
7+
DMC|---------------VPU (Video Processing Unit)----------------|------HHI------|
8+
| vd1 _______ _____________ _________________ | |
9+
D |-------| |----| | | | | HDMI PLL |
10+
D | vd2 | VIU | | Video Post | | Video Encoders |<---|-----VCLK |
11+
R |-------| |----| Processing | | | | |
12+
| osd2 | | | |---| Enci ----------|----|-----VDAC------|
13+
R |-------| CSC |----| Scalers | | Encp ----------|----|----HDMI-TX----|
14+
A | osd1 | | | Blenders | | Encl ----------|----|---------------|
15+
M |-------|______|----|____________| |________________| | |
16+
___|__________________________________________________________|_______________|
17+
18+
19+
VIU: Video Input Unit
20+
---------------------
21+
22+
The Video Input Unit is in charge of the pixel scanout from the DDR memory.
23+
It fetches the frames addresses, stride and parameters from the "Canvas" memory.
24+
This part is also in charge of the CSC (Colorspace Conversion).
25+
It can handle 2 OSD Planes and 2 Video Planes.
26+
27+
VPP: Video Post Processing
28+
--------------------------
29+
30+
The Video Post Processing is in charge of the scaling and blending of the
31+
various planes into a single pixel stream.
32+
There is a special "pre-blending" used by the video planes with a dedicated
33+
scaler and a "post-blending" to merge with the OSD Planes.
34+
The OSD planes also have a dedicated scaler for one of the OSD.
35+
36+
VENC: Video Encoders
37+
--------------------
38+
39+
The VENC is composed of the multiple pixel encoders :
40+
- ENCI : Interlace Video encoder for CVBS and Interlace HDMI
41+
- ENCP : Progressive Video Encoder for HDMI
42+
- ENCL : LCD LVDS Encoder
43+
The VENC Unit gets a Pixel Clocks (VCLK) from a dedicated HDMI PLL and clock
44+
tree and provides the scanout clock to the VPP and VIU.
45+
The ENCI is connected to a single VDAC for Composite Output.
46+
The ENCI and ENCP are connected to an on-chip HDMI Transceiver.
47+
48+
Device Tree Bindings:
49+
---------------------
50+
51+
VPU: Video Processing Unit
52+
--------------------------
53+
54+
Required properties:
55+
- compatible: value should be different for each SoC family as :
56+
- GXBB (S905) : "amlogic,meson-gxbb-vpu"
57+
- GXL (S905X, S905D) : "amlogic,meson-gxl-vpu"
58+
- GXM (S912) : "amlogic,meson-gxm-vpu"
59+
followed by the common "amlogic,meson-gx-vpu"
60+
- reg: base address and size of he following memory-mapped regions :
61+
- vpu
62+
- hhi
63+
- dmc
64+
- reg-names: should contain the names of the previous memory regions
65+
- interrupts: should contain the VENC Vsync interrupt number
66+
67+
Required nodes:
68+
69+
The connections to the VPU output video ports are modeled using the OF graph
70+
bindings specified in Documentation/devicetree/bindings/graph.txt.
71+
72+
The following table lists for each supported model the port number
73+
corresponding to each VPU output.
74+
75+
Port 0 Port 1
76+
-----------------------------------------
77+
S905 (GXBB) CVBS VDAC HDMI-TX
78+
S905X (GXL) CVBS VDAC HDMI-TX
79+
S905D (GXL) CVBS VDAC HDMI-TX
80+
S912 (GXM) CVBS VDAC HDMI-TX
81+
82+
Example:
83+
84+
tv-connector {
85+
compatible = "composite-video-connector";
86+
87+
port {
88+
tv_connector_in: endpoint {
89+
remote-endpoint = <&cvbs_vdac_out>;
90+
};
91+
};
92+
};
93+
94+
vpu: vpu@d0100000 {
95+
compatible = "amlogic,meson-gxbb-vpu";
96+
reg = <0x0 0xd0100000 0x0 0x100000>,
97+
<0x0 0xc883c000 0x0 0x1000>,
98+
<0x0 0xc8838000 0x0 0x1000>;
99+
reg-names = "vpu", "hhi", "dmc";
100+
interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
101+
#address-cells = <1>;
102+
#size-cells = <0>;
103+
104+
/* CVBS VDAC output port */
105+
port@0 {
106+
reg = <0>;
107+
108+
cvbs_vdac_out: endpoint {
109+
remote-endpoint = <&tv_connector_in>;
110+
};
111+
};
112+
};

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@ Required properties for DPI:
4343
- port: Port node with a single endpoint connecting to the panel
4444
device, as defined in [1]
4545

46+
Required properties for VEC:
47+
- compatible: Should be "brcm,bcm2835-vec"
48+
- reg: Physical base address and length of the registers
49+
- clocks: The core clock the unit runs on
50+
- interrupts: The interrupt number
51+
See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
52+
4653
Required properties for V3D:
4754
- compatible: Should be "brcm,bcm2835-v3d"
4855
- reg: Physical base address and length of the V3D's registers
@@ -92,6 +99,13 @@ dpi: dpi@7e208000 {
9299
};
93100
};
94101

102+
vec: vec@7e806000 {
103+
compatible = "brcm,bcm2835-vec";
104+
reg = <0x7e806000 0x1000>;
105+
clocks = <&clocks BCM2835_CLOCK_VEC>;
106+
interrupts = <2 27>;
107+
};
108+
95109
v3d: v3d@7ec00000 {
96110
compatible = "brcm,bcm2835-v3d";
97111
reg = <0x7ec00000 0x1000>;

Documentation/devicetree/bindings/display/bridge/dumb-vga-dac.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ graph bindings specified in Documentation/devicetree/bindings/graph.txt.
1616
- Video port 0 for RGB input
1717
- Video port 1 for VGA output
1818

19+
Optional properties:
20+
- vdd-supply: Power supply for DAC
1921

2022
Example
2123
-------

Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ Required properties:
1919

2020
Optional properties
2121
- reg-io-width: the width of the reg:1,4, default set to 1 if not present
22-
- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
22+
- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing,
23+
if the property is omitted, a functionally reduced I2C bus
24+
controller on DW HDMI is probed
2325
- clocks, clock-names: phandle to the HDMI CEC clock, name should be "cec"
2426

2527
Example:

Documentation/devicetree/bindings/display/ti/ti,tfp410.txt renamed to Documentation/devicetree/bindings/display/bridge/ti,tfp410.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,15 @@ Required properties:
66

77
Optional properties:
88
- powerdown-gpios: power-down gpio
9+
- reg: I2C address. If and only if present the device node
10+
should be placed into the i2c controller node where the
11+
tfp410 i2c is connected to.
912

1013
Required nodes:
11-
- Video port 0 for DPI input
12-
- Video port 1 for DVI output
14+
- Video port 0 for DPI input [1].
15+
- Video port 1 for DVI output [1].
16+
17+
[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
1318

1419
Example
1520
-------

Documentation/devicetree/bindings/display/mxsfb.txt

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,57 @@
11
* Freescale MXS LCD Interface (LCDIF)
22

3+
New bindings:
4+
=============
35
Required properties:
4-
- compatible: Should be "fsl,<chip>-lcdif". Supported chips include
5-
imx23 and imx28.
6-
- reg: Address and length of the register set for lcdif
7-
- interrupts: Should contain lcdif interrupts
8-
- display : phandle to display node (see below for details)
6+
- compatible: Should be "fsl,imx23-lcdif" for i.MX23.
7+
Should be "fsl,imx28-lcdif" for i.MX28.
8+
Should be "fsl,imx6sx-lcdif" for i.MX6SX.
9+
- reg: Address and length of the register set for LCDIF
10+
- interrupts: Should contain LCDIF interrupt
11+
- clocks: A list of phandle + clock-specifier pairs, one for each
12+
entry in 'clock-names'.
13+
- clock-names: A list of clock names. For MXSFB it should contain:
14+
- "pix" for the LCDIF block clock
15+
- (MX6SX-only) "axi", "disp_axi" for the bus interface clock
16+
17+
Required sub-nodes:
18+
- port: The connection to an encoder chip.
19+
20+
Example:
21+
22+
lcdif1: display-controller@2220000 {
23+
compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
24+
reg = <0x02220000 0x4000>;
25+
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
26+
clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
27+
<&clks IMX6SX_CLK_LCDIF_APB>,
28+
<&clks IMX6SX_CLK_DISPLAY_AXI>;
29+
clock-names = "pix", "axi", "disp_axi";
30+
31+
port {
32+
parallel_out: endpoint {
33+
remote-endpoint = <&panel_in_parallel>;
34+
};
35+
};
36+
};
37+
38+
Deprecated bindings:
39+
====================
40+
Required properties:
41+
- compatible: Should be "fsl,imx23-lcdif" for i.MX23.
42+
Should be "fsl,imx28-lcdif" for i.MX28.
43+
- reg: Address and length of the register set for LCDIF
44+
- interrupts: Should contain LCDIF interrupts
45+
- display: phandle to display node (see below for details)
946

1047
* display node
1148

1249
Required properties:
13-
- bits-per-pixel : <16> for RGB565, <32> for RGB888/666.
14-
- bus-width : number of data lines. Could be <8>, <16>, <18> or <24>.
50+
- bits-per-pixel: <16> for RGB565, <32> for RGB888/666.
51+
- bus-width: number of data lines. Could be <8>, <16>, <18> or <24>.
1552

1653
Required sub-node:
17-
- display-timings : Refer to binding doc display-timing.txt for details.
54+
- display-timings: Refer to binding doc display-timing.txt for details.
1855

1956
Examples:
2057

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
AU Optronics Corporation 13.3" FHD (1920x1080) TFT LCD panel
2+
3+
Required properties:
4+
- compatible: should be "auo,g133han01"
5+
6+
This binding is compatible with the simple-panel binding, which is specified
7+
in simple-panel.txt in this directory.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
AU Optronics Corporation 18.5" FHD (1920x1080) TFT LCD panel
2+
3+
Required properties:
4+
- compatible: should be "auo,g185han01"
5+
6+
This binding is compatible with the simple-panel binding, which is specified
7+
in simple-panel.txt in this directory.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
AU Optronics Corporation 21.5" FHD (1920x1080) color TFT LCD panel
2+
3+
Required properties:
4+
- compatible: should be "auo,t215hvn01"
5+
6+
This binding is compatible with the simple-panel binding, which is specified
7+
in simple-panel.txt in this directory.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Chunghwa Picture Tubes Ltd. 7" WXGA TFT LCD panel
2+
3+
Required properties:
4+
- compatible: should be "chunghwa,claa070wp03xg"
5+
6+
This binding is compatible with the simple-panel binding, which is specified
7+
in simple-panel.txt in this directory.

0 commit comments

Comments
 (0)