Skip to content

Commit 3a3ca72

Browse files
committed
Merge tag 'drm-misc-next-2021-05-12' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 5.14: UAPI Changes: * drm: Disable connector force-probing for non-master clients * drm: Enforce consistency between IN_FORMATS property and cap + related driver cleanups * drm/amdgpu: Track devices, process info and fence info via /proc/<pid>/fdinfo * drm/ioctl: Mark AGP-related ioctls as legacy * drm/ttm: Provide tt_shrink file to trigger shrinker via debugfs; Cross-subsystem Changes: * fbdev/efifb: Special handling of non-PCI devices * fbdev/imxfb: Fix error message Core Changes: * drm: Add connector helper to attach HDR-metadata property and convert drivers * drm: Add connector helper to compare HDR-metadata and convert drivers * drm: Add conenctor helper to attach colorspace property * drm: Signal colorimetry in HDMI infoframe * drm: Support pitch for destination buffers; Add blitter function with generic format conversion * drm: Remove struct drm_device.pdev and update legacy drivers * drm: Remove obsolete DRM_KMS_FB_HELPER config option in core and drivers * drm: Remove obsolete drm_pci_alloc/drm_pci_free * drm/aperture: Add helpers for aperture ownership and convert drivers, replaces rsp fbdev helpers * drm/agp: Mark DRM AGP code as legacy and convert legacy drivers * drm/atomic-helpers: Cleanups * drm/dp: Handle downstream port counts of 0 correctly; AUX channel fixes; Use drm_err_*/drm_dbg_*(); Cleanups * drm/dp_dual_mode: Use drm_err_*/drm_dbg_*() * drm/dp_mst: Use drm_err_*/drm_dbg_*(); Use Extended Base Receiver Capability DPCD space * drm/gem-ttm-helper: Provide helper for dumb_map_offset and convert drivers * drm/panel: Use sysfs_emit; panel-simple: Use runtime PM, Power up panel when reading EDID, Cache EDID, Cleanups; Lms397KF04: DT bindings * drm/pci: Mark AGP helpers as legacy * drm/print: Handle NULL for DRM devices gracefully * drm/scheduler: Change scheduled fence track * drm/ttm: Don't count SG BOs against pages_limit; Warn about freeing pinned BOs; Fix error handling if no BO can be swapped out; Move special handling of non-GEM drivers into vmwgfx; Move page_alignment into the BO; Set drm-misc as TTM tree in MAINTAINERS; Cleanup ttm_agp_backend; Add ttm_sys_manager for system domain; Cleanups Driver Changes: * drm: Don't set allow_fb_modifiers explictly in drivers * drm/amdgpu: Pin/unpin fixes wrt to TTM; Use bo->base.size instead of mem->num_pages * drm/ast: Use managed pcim_iomap(); Fix EDID retrieval with DP501 * drm/bridge: MHDP8546: HDCP support + DT bindings, Register DP AUX channel with userspace; Sil8620: Fix module dependencies; dw-hdmi: Add option to not load CEC driver; Fix stopping in drm_bridge_chain_pre_enable(); Ti-sn65dsi86: Fix refclk handling, Break GPIO and MIPI-to-eDP into subdrivers, Use pm_runtime autosuspend, cleanups; It66121: Add driver + DT bindings; Adv7511: Support I2S IEC958 encoding; Anx7625: fix power-on delay; Nwi-dsi: Modesetting fixes; Cleanups * drm/bochs: Support screen blanking * drm/gma500: Cleanups * drm/gud: Cleanups * drm/i915: Use correct max source link rate for MST * drm/kmb: Cleanups * drm/meson: Disable dw-hdmi CEC driver * drm/nouveau: Pin/unpin fixes wrt to TTM; Use bo->base.size instead of mem->num_pages; Register AUX adapters after their connectors * drm/qxl: Fix shadow BO unpin * drm/radeon: Duplicate some DRM AGP code to uncouple from legacy drivers * drm/simpledrm: Add a generic DRM driver for simple-framebuffer devices * drm/tiny: Fix log spam if probe function gets deferred * drm/vc4: Add support for HDR-metadata property; Cleanups * drm/virtio: Create dumb BOs as guest blobs; * drm/vkms: Use managed drmm_universal_plane_alloc(); Add XRGB plane composition; Add overlay support * drm/vmwgfx: Enable console with DRM_FBDEV_EMULATION; Fix CPU updates of coherent multisample surfaces; Remove reservation semaphore; Add initial SVGA3 support; Support amd64; Use 1-based IDR; Use min_t(); Cleanups Signed-off-by: Dave Airlie <[email protected]> From: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents d07f6ca + 6607952 commit 3a3ca72

File tree

269 files changed

+7169
-3006
lines changed

Some content is hidden

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

269 files changed

+7169
-3006
lines changed

Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,24 @@ properties:
1818

1919
reg:
2020
minItems: 1
21-
maxItems: 2
21+
maxItems: 3
2222
items:
2323
- description:
2424
Register block of mhdptx apb registers up to PHY mapped area (AUX_CONFIG_P).
2525
The AUX and PMA registers are not part of this range, they are instead
2626
included in the associated PHY.
2727
- description:
2828
Register block for DSS_EDP0_INTG_CFG_VP registers in case of TI J7 SoCs.
29+
- description:
30+
Register block of mhdptx sapb registers.
2931

3032
reg-names:
3133
minItems: 1
32-
maxItems: 2
34+
maxItems: 3
3335
items:
3436
- const: mhdptx
3537
- const: j721e-intg
38+
- const: mhdptx-sapb
3639

3740
clocks:
3841
maxItems: 1
@@ -99,14 +102,18 @@ allOf:
99102
properties:
100103
reg:
101104
minItems: 2
105+
maxItems: 3
102106
reg-names:
103107
minItems: 2
108+
maxItems: 3
104109
else:
105110
properties:
106111
reg:
107-
maxItems: 1
112+
minItems: 1
113+
maxItems: 2
108114
reg-names:
109-
maxItems: 1
115+
minItems: 1
116+
maxItems: 2
110117

111118
required:
112119
- compatible
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/bridge/ite,it66121.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ITE it66121 HDMI bridge Device Tree Bindings
8+
9+
maintainers:
10+
- Phong LE <[email protected]>
11+
- Neil Armstrong <[email protected]>
12+
13+
description: |
14+
The IT66121 is a high-performance and low-power single channel HDMI
15+
transmitter, fully compliant with HDMI 1.3a, HDCP 1.2 and backward compatible
16+
to DVI 1.0 specifications.
17+
18+
properties:
19+
compatible:
20+
const: ite,it66121
21+
22+
reg:
23+
maxItems: 1
24+
25+
reset-gpios:
26+
maxItems: 1
27+
description: GPIO connected to active low reset
28+
29+
vrf12-supply:
30+
description: Regulator for 1.2V analog core power.
31+
32+
vcn33-supply:
33+
description: Regulator for 3.3V digital core power.
34+
35+
vcn18-supply:
36+
description: Regulator for 1.8V IO core power.
37+
38+
interrupts:
39+
maxItems: 1
40+
41+
ports:
42+
$ref: /schemas/graph.yaml#/properties/ports
43+
44+
properties:
45+
port@0:
46+
$ref: /schemas/graph.yaml#/$defs/port-base
47+
unevaluatedProperties: false
48+
description: DPI input port.
49+
50+
properties:
51+
endpoint:
52+
$ref: /schemas/graph.yaml#/$defs/endpoint-base
53+
unevaluatedProperties: false
54+
55+
properties:
56+
bus-width:
57+
description:
58+
Endpoint bus width.
59+
enum:
60+
- 12 # 12 data lines connected and dual-edge mode
61+
- 24 # 24 data lines connected and single-edge mode
62+
default: 24
63+
64+
port@1:
65+
$ref: /schemas/graph.yaml#/properties/port
66+
description: HDMI Connector port.
67+
68+
required:
69+
- port@0
70+
- port@1
71+
72+
required:
73+
- compatible
74+
- reg
75+
- reset-gpios
76+
- vrf12-supply
77+
- vcn33-supply
78+
- vcn18-supply
79+
- interrupts
80+
- ports
81+
82+
additionalProperties: false
83+
84+
examples:
85+
- |
86+
#include <dt-bindings/interrupt-controller/irq.h>
87+
#include <dt-bindings/gpio/gpio.h>
88+
i2c {
89+
#address-cells = <1>;
90+
#size-cells = <0>;
91+
92+
it66121hdmitx: hdmitx@4c {
93+
compatible = "ite,it66121";
94+
pinctrl-names = "default";
95+
pinctrl-0 = <&ite_pins_default>;
96+
vcn33-supply = <&mt6358_vcn33_wifi_reg>;
97+
vcn18-supply = <&mt6358_vcn18_reg>;
98+
vrf12-supply = <&mt6358_vrf12_reg>;
99+
reset-gpios = <&pio 160 GPIO_ACTIVE_LOW>;
100+
interrupt-parent = <&pio>;
101+
interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
102+
reg = <0x4c>;
103+
104+
ports {
105+
#address-cells = <1>;
106+
#size-cells = <0>;
107+
108+
port@0 {
109+
reg = <0>;
110+
it66121_in: endpoint {
111+
bus-width = <12>;
112+
remote-endpoint = <&display_out>;
113+
};
114+
};
115+
116+
port@1 {
117+
reg = <1>;
118+
hdmi_conn_out: endpoint {
119+
remote-endpoint = <&hdmi_conn_in>;
120+
};
121+
};
122+
};
123+
};
124+
};
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/panel/samsung,lms397kf04.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Samsung LMS397KF04 display panel
8+
9+
description: The datasheet claims this is based around a display controller
10+
named DB7430 with a separate backlight controller.
11+
12+
maintainers:
13+
- Linus Walleij <[email protected]>
14+
15+
allOf:
16+
- $ref: panel-common.yaml#
17+
18+
properties:
19+
compatible:
20+
const: samsung,lms397kf04
21+
22+
reg: true
23+
24+
reset-gpios: true
25+
26+
vci-supply:
27+
description: regulator that supplies the VCI analog voltage
28+
usually around 3.0 V
29+
30+
vccio-supply:
31+
description: regulator that supplies the VCCIO voltage usually
32+
around 1.8 V
33+
34+
backlight: true
35+
36+
spi-max-frequency:
37+
$ref: /schemas/types.yaml#/definitions/uint32
38+
description: inherited as a SPI client node, the datasheet specifies
39+
maximum 300 ns minimum cycle which gives around 3 MHz max frequency
40+
maximum: 3000000
41+
42+
port: true
43+
44+
required:
45+
- compatible
46+
- reg
47+
48+
additionalProperties: false
49+
50+
examples:
51+
- |
52+
#include <dt-bindings/gpio/gpio.h>
53+
54+
spi {
55+
#address-cells = <1>;
56+
#size-cells = <0>;
57+
panel@0 {
58+
compatible = "samsung,lms397kf04";
59+
spi-max-frequency = <3000000>;
60+
reg = <0>;
61+
vci-supply = <&lcd_3v0_reg>;
62+
vccio-supply = <&lcd_1v8_reg>;
63+
reset-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
64+
backlight = <&ktd259>;
65+
66+
port {
67+
panel_in: endpoint {
68+
remote-endpoint = <&display_out>;
69+
};
70+
};
71+
};
72+
};
73+
74+
...

Documentation/gpu/drm-internals.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,18 @@ update it, its value is mostly useless. The DRM core prints it to the
7575
kernel log at initialization time and passes it to userspace through the
7676
DRM_IOCTL_VERSION ioctl.
7777

78+
Managing Ownership of the Framebuffer Aperture
79+
----------------------------------------------
80+
81+
.. kernel-doc:: drivers/gpu/drm/drm_aperture.c
82+
:doc: overview
83+
84+
.. kernel-doc:: include/drm/drm_aperture.h
85+
:internal:
86+
87+
.. kernel-doc:: drivers/gpu/drm/drm_aperture.c
88+
:export:
89+
7890
Device Instance and Driver Handling
7991
-----------------------------------
8092

Documentation/gpu/todo.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,6 +546,8 @@ There's a bunch of issues with it:
546546
this (together with the drm_minor->drm_device move) would allow us to remove
547547
debugfs_init.
548548

549+
Previous RFC that hasn't landed yet: https://lore.kernel.org/dri-devel/[email protected]/
550+
549551
Contact: Daniel Vetter
550552

551553
Level: Intermediate

MAINTAINERS

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5870,6 +5870,13 @@ S: Orphan / Obsolete
58705870
F: drivers/gpu/drm/savage/
58715871
F: include/uapi/drm/savage_drm.h
58725872

5873+
DRM DRIVER FOR SIMPLE FRAMEBUFFERS
5874+
M: Thomas Zimmermann <[email protected]>
5875+
5876+
S: Maintained
5877+
T: git git://anongit.freedesktop.org/drm/drm-misc
5878+
F: drivers/gpu/drm/tiny/simplekms.c
5879+
58735880
DRM DRIVER FOR SIS VIDEO CARDS
58745881
S: Orphan / Obsolete
58755882
F: drivers/gpu/drm/sis/
@@ -6239,7 +6246,7 @@ M: Christian Koenig <[email protected]>
62396246
M: Huang Rui <[email protected]>
62406247
62416248
S: Maintained
6242-
T: git git://people.freedesktop.org/~agd5f/linux
6249+
T: git git://anongit.freedesktop.org/drm/drm-misc
62436250
F: drivers/gpu/drm/ttm/
62446251
F: include/drm/ttm/
62456252

@@ -9719,6 +9726,14 @@ Q: http://patchwork.linuxtv.org/project/linux-media/list/
97199726
T: git git://linuxtv.org/anttip/media_tree.git
97209727
F: drivers/media/tuners/it913x*
97219728

9729+
ITE IT66121 HDMI BRIDGE DRIVER
9730+
M: Phong LE <[email protected]>
9731+
M: Neil Armstrong <[email protected]>
9732+
S: Maintained
9733+
T: git git://anongit.freedesktop.org/drm/drm-misc
9734+
F: Documentation/devicetree/bindings/display/bridge/ite,it66121.yaml
9735+
F: drivers/gpu/drm/bridge/ite-it66121.c
9736+
97229737
IVTV VIDEO4LINUX DRIVER
97239738
M: Andy Walls <[email protected]>
97249739
@@ -15257,6 +15272,7 @@ F: drivers/net/wireless/quantenna
1525715272
RADEON and AMDGPU DRM DRIVERS
1525815273
M: Alex Deucher <[email protected]>
1525915274
M: Christian König <[email protected]>
15275+
M: Pan, Xinhui <[email protected]>
1526015276
1526115277
S: Supported
1526215278
T: git https://gitlab.freedesktop.org/agd5f/linux.git

drivers/gpu/drm/Kconfig

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -80,23 +80,6 @@ config DRM_KMS_HELPER
8080
help
8181
CRTC helpers for KMS drivers.
8282

83-
config DRM_KMS_FB_HELPER
84-
bool
85-
depends on DRM_KMS_HELPER
86-
select FB
87-
select FRAMEBUFFER_CONSOLE if !EXPERT
88-
select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
89-
select FB_SYS_FOPS
90-
select FB_SYS_FILLRECT
91-
select FB_SYS_COPYAREA
92-
select FB_SYS_IMAGEBLIT
93-
select FB_CFB_FILLRECT
94-
select FB_CFB_COPYAREA
95-
select FB_CFB_IMAGEBLIT
96-
select FB_DEFERRED_IO
97-
help
98-
FBDEV helpers for KMS drivers.
99-
10083
config DRM_DEBUG_DP_MST_TOPOLOGY_REFS
10184
bool "Enable refcount backtrace history in the DP MST helpers"
10285
depends on STACKTRACE_SUPPORT
@@ -117,6 +100,17 @@ config DRM_FBDEV_EMULATION
117100
depends on DRM
118101
select DRM_KMS_HELPER
119102
select DRM_KMS_FB_HELPER
103+
select FB
104+
select FB_CFB_FILLRECT
105+
select FB_CFB_COPYAREA
106+
select FB_CFB_IMAGEBLIT
107+
select FB_DEFERRED_IO
108+
select FB_SYS_FOPS
109+
select FB_SYS_FILLRECT
110+
select FB_SYS_COPYAREA
111+
select FB_SYS_IMAGEBLIT
112+
select FRAMEBUFFER_CONSOLE if !EXPERT
113+
select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
120114
default y
121115
help
122116
Choose this option if you have a need for the legacy fbdev

drivers/gpu/drm/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
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-
drm-y := drm_auth.o drm_cache.o \
6+
drm-y := drm_aperture.o drm_auth.o drm_cache.o \
77
drm_file.o drm_gem.o drm_ioctl.o drm_irq.o \
88
drm_drv.o \
99
drm_sysfs.o drm_hashtab.o drm_mm.o \
@@ -20,15 +20,15 @@ drm-y := drm_auth.o drm_cache.o \
2020
drm_client_modeset.o drm_atomic_uapi.o drm_hdcp.o \
2121
drm_managed.o drm_vblank_work.o
2222

23-
drm-$(CONFIG_DRM_LEGACY) += drm_bufs.o drm_context.o drm_dma.o drm_legacy_misc.o drm_lock.o \
24-
drm_memory.o drm_scatter.o drm_vm.o
23+
drm-$(CONFIG_DRM_LEGACY) += drm_agpsupport.o drm_bufs.o drm_context.o drm_dma.o \
24+
drm_legacy_misc.o drm_lock.o drm_memory.o drm_scatter.o \
25+
drm_vm.o
2526
drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o
2627
drm-$(CONFIG_COMPAT) += drm_ioc32.o
2728
drm-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_gem_cma_helper.o
2829
drm-$(CONFIG_DRM_GEM_SHMEM_HELPER) += drm_gem_shmem_helper.o
2930
drm-$(CONFIG_DRM_PANEL) += drm_panel.o
3031
drm-$(CONFIG_OF) += drm_of.o
31-
drm-$(CONFIG_AGP) += drm_agpsupport.o
3232
drm-$(CONFIG_PCI) += drm_pci.o
3333
drm-$(CONFIG_DEBUG_FS) += drm_debugfs.o drm_debugfs_crc.o
3434
drm-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o

0 commit comments

Comments
 (0)