Skip to content

Commit 6200442

Browse files
committed
Merge tag 'drm-misc-next-2025-10-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
drm-misc-next for v6.19: UAPI Changes: Cross-subsystem Changes: - fbcon cleanups. - Make drivers depend on FB_TILEBLITTING instead of selecting it, and hide FB_MODE_HELPERS. Core Changes: - More preparations for rust. - Throttle dirty worker with vblank - Use drm_for_each_bridge_in_chain_scoped in drm's bridge code and assorted fixes. - Ensure drm_client_modeset tests are enabled in UML. - Rename ttm_bo_put to ttm_bo_fini, as a further step in removing the TTM bo refcount. - Add POST_LT_ADJ_REQ training sequence. - Show list of removed but still allocated bridges. - Add a simulated vblank interrupt for hardware without it, and add some helpers to use them in vkms and hypervdrm. Driver Changes: - Assorted small fixes, cleanups and updates to host1x, tegra, panthor, amdxdna, gud, vc4, ssd130x, ivpu, panfrost, panthor, sysfb, bridge/sn65dsi86, solomon, ast, tidss. - Convert drivers from using .round_rate() to .determine_rate() - Add support for KD116N3730A07/A12, chromebook mt8189, JT101TM023, LQ079L1SX01, raspberrypi 5" panels. - Improve reclocking on tegra186+ with nouveau. - Improve runtime pm in amdxdna. - Add support for HTX_PAI in imx. - Use a helper to calculate dumb buffer sizes in most drivers. Signed-off-by: Simona Vetter <simona.vetter@ffwll.ch> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://lore.kernel.org/r/b412fb91-8545-466a-8102-d89c0f2758a7@linux.intel.com
2 parents 335482a + aa1c2b0 commit 6200442

191 files changed

Lines changed: 6722 additions & 2815 deletions

File tree

Some content is hidden

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

.clang-format

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ ForEachMacros:
167167
- 'drm_connector_for_each_possible_encoder'
168168
- 'drm_exec_for_each_locked_object'
169169
- 'drm_exec_for_each_locked_object_reverse'
170-
- 'drm_for_each_bridge_in_chain'
170+
- 'drm_for_each_bridge_in_chain_scoped'
171171
- 'drm_for_each_connector_iter'
172172
- 'drm_for_each_crtc'
173173
- 'drm_for_each_crtc_reverse'

Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ properties:
4949
$ref: /schemas/graph.yaml#/properties/port
5050
description: HDMI output port
5151

52+
port@2:
53+
$ref: /schemas/graph.yaml#/properties/port
54+
description: Parallel audio input port
55+
5256
required:
5357
- port@0
5458
- port@1
@@ -98,5 +102,13 @@ examples:
98102
remote-endpoint = <&hdmi0_con>;
99103
};
100104
};
105+
106+
port@2 {
107+
reg = <2>;
108+
109+
endpoint {
110+
remote-endpoint = <&pai_to_hdmi_tx>;
111+
};
112+
};
101113
};
102114
};
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/imx/fsl,imx8mp-hdmi-pai.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale i.MX8MP HDMI Parallel Audio Interface
8+
9+
maintainers:
10+
- Shengjiu Wang <shengjiu.wang@nxp.com>
11+
12+
description:
13+
The HDMI TX Parallel Audio Interface (HTX_PAI) is a bridge between the
14+
Audio Subsystem to the HDMI TX Controller.
15+
16+
properties:
17+
compatible:
18+
const: fsl,imx8mp-hdmi-pai
19+
20+
reg:
21+
maxItems: 1
22+
23+
interrupts:
24+
maxItems: 1
25+
26+
clocks:
27+
maxItems: 1
28+
29+
clock-names:
30+
const: apb
31+
32+
power-domains:
33+
maxItems: 1
34+
35+
port:
36+
$ref: /schemas/graph.yaml#/properties/port
37+
description: Output to the HDMI TX controller.
38+
39+
required:
40+
- compatible
41+
- reg
42+
- interrupts
43+
- clocks
44+
- clock-names
45+
- power-domains
46+
- port
47+
48+
additionalProperties: false
49+
50+
examples:
51+
- |
52+
#include <dt-bindings/clock/imx8mp-clock.h>
53+
#include <dt-bindings/power/imx8mp-power.h>
54+
55+
audio-bridge@32fc4800 {
56+
compatible = "fsl,imx8mp-hdmi-pai";
57+
reg = <0x32fc4800 0x800>;
58+
interrupt-parent = <&irqsteer_hdmi>;
59+
interrupts = <14>;
60+
clocks = <&clk IMX8MP_CLK_HDMI_APB>;
61+
clock-names = "apb";
62+
power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_PAI>;
63+
64+
port {
65+
pai_to_hdmi_tx: endpoint {
66+
remote-endpoint = <&hdmi_tx_from_pai>;
67+
};
68+
};
69+
};

Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ properties:
2020
- bananapi,lhr050h41
2121
- bestar,bsd1218-a101kl68
2222
- feixin,k101-im2byl02
23+
- raspberrypi,dsi-5inch
2324
- raspberrypi,dsi-7inch
2425
- startek,kd050hdfia020
2526
- tdo,tl050hdv35
@@ -30,6 +31,7 @@ properties:
3031
maxItems: 1
3132

3233
backlight: true
34+
port: true
3335
power-supply: true
3436
reset-gpios: true
3537
rotation: true

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,8 @@ properties:
184184
- innolux,n156bge-l21
185185
# Innolux Corporation 7.0" WSVGA (1024x600) TFT LCD panel
186186
- innolux,zj070na-01p
187+
# JuTouch Technology Co.. 10" JT101TM023 WXGA (1280 x 800) LVDS panel
188+
- jutouch,jt101tm023
187189
# Kaohsiung Opto-Electronics Inc. 5.7" QVGA (320 x 240) TFT LCD panel
188190
- koe,tx14d24vm1bpa
189191
# Kaohsiung Opto-Electronics. TX31D200VM0BAA 12.3" HSXGA LVDS panel
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
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/sharp,lq079l1sx01.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Sharp Microelectronics 7.9" WQXGA TFT LCD panel
8+
9+
maintainers:
10+
- Svyatoslav Ryhel <clamor95@gmail.com>
11+
12+
description: >
13+
This panel requires a dual-channel DSI host to operate and it supports
14+
only left-right split mode, where each channel drives the left or right
15+
half of the screen and only video mode.
16+
17+
Each of the DSI channels controls a separate DSI peripheral.
18+
The peripheral driven by the first link (DSI-LINK1), left one, is
19+
considered the primary peripheral and controls the device.
20+
21+
allOf:
22+
- $ref: panel-common-dual.yaml#
23+
24+
properties:
25+
compatible:
26+
const: sharp,lq079l1sx01
27+
28+
reg:
29+
maxItems: 1
30+
31+
avdd-supply:
32+
description: regulator that supplies the analog voltage
33+
34+
vddio-supply:
35+
description: regulator that supplies the I/O voltage
36+
37+
vsp-supply:
38+
description: positive boost supply regulator
39+
40+
vsn-supply:
41+
description: negative boost supply regulator
42+
43+
reset-gpios:
44+
maxItems: 1
45+
46+
backlight: true
47+
ports: true
48+
49+
required:
50+
- compatible
51+
- reg
52+
- avdd-supply
53+
- vddio-supply
54+
- ports
55+
56+
additionalProperties: false
57+
58+
examples:
59+
- |
60+
#include <dt-bindings/gpio/gpio.h>
61+
62+
dsi {
63+
#address-cells = <1>;
64+
#size-cells = <0>;
65+
66+
panel@0 {
67+
compatible = "sharp,lq079l1sx01";
68+
reg = <0>;
69+
70+
reset-gpios = <&gpio 59 GPIO_ACTIVE_LOW>;
71+
72+
avdd-supply = <&avdd_lcd>;
73+
vddio-supply = <&vdd_lcd_io>;
74+
vsp-supply = <&vsp_5v5_lcd>;
75+
vsn-supply = <&vsn_5v5_lcd>;
76+
77+
backlight = <&backlight>;
78+
79+
ports {
80+
#address-cells = <1>;
81+
#size-cells = <0>;
82+
83+
port@0 {
84+
reg = <0>;
85+
panel_in0: endpoint {
86+
remote-endpoint = <&dsi0_out>;
87+
};
88+
};
89+
90+
port@1 {
91+
reg = <1>;
92+
panel_in1: endpoint {
93+
remote-endpoint = <&dsi1_out>;
94+
};
95+
};
96+
};
97+
};
98+
};
99+
...

Documentation/devicetree/bindings/vendor-prefixes.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -835,6 +835,8 @@ patternProperties:
835835
description: JOZ BV
836836
"^jty,.*":
837837
description: JTY
838+
"^jutouch,.*":
839+
description: JuTouch Technology Co., Ltd.
838840
"^kam,.*":
839841
description: Kamstrup A/S
840842
"^karo,.*":

Documentation/gpu/drm-kms-helpers.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,18 @@ GEM Atomic Helper Reference
9292
.. kernel-doc:: drivers/gpu/drm/drm_gem_atomic_helper.c
9393
:export:
9494

95+
VBLANK Helper Reference
96+
-----------------------
97+
98+
.. kernel-doc:: drivers/gpu/drm/drm_vblank_helper.c
99+
:doc: overview
100+
101+
.. kernel-doc:: include/drm/drm_vblank_helper.h
102+
:internal:
103+
104+
.. kernel-doc:: drivers/gpu/drm/drm_vblank_helper.c
105+
:export:
106+
95107
Simple KMS Helper Reference
96108
===========================
97109

Documentation/gpu/todo.rst

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,43 @@ Contact: Thomas Zimmermann <tzimmermann@suse.de>, Simona Vetter
623623

624624
Level: Advanced
625625

626+
Implement a new DUMB_CREATE2 ioctl
627+
----------------------------------
628+
629+
The current DUMB_CREATE ioctl is not well defined. Instead of a pixel and
630+
framebuffer format, it only accepts a color mode of vague semantics. Assuming
631+
a linear framebuffer, the color mode gives an idea of the supported pixel
632+
format. But userspace effectively has to guess the correct values. It really
633+
only works reliably with framebuffers in XRGB8888. Userspace has begun to
634+
workaround these limitations by computing arbitrary format's buffer sizes and
635+
calculating their sizes in terms of XRGB8888 pixels.
636+
637+
One possible solution is a new ioctl DUMB_CREATE2. It should accept a DRM
638+
format and a format modifier to resolve the color mode's ambiguity. As
639+
framebuffers can be multi-planar, the new ioctl has to return the buffer size,
640+
pitch and GEM handle for each individual color plane.
641+
642+
In the first step, the new ioctl can be limited to the current features of
643+
the existing DUMB_CREATE. Individual drivers can then be extended to support
644+
multi-planar formats. Rockchip might require this and would be a good candidate.
645+
646+
It might also be helpful to userspace to query information about the size of
647+
a potential buffer, if allocated. Userspace would supply geometry and format;
648+
the kernel would return minimal allocation sizes and scanline pitch. There is
649+
interest to allocate that memory from another device and provide it to the
650+
DRM driver (say via dma-buf).
651+
652+
Another requested feature is the ability to allocate a buffer by size, without
653+
format. Accelators use this for their buffer allocation and it could likely be
654+
generalized.
655+
656+
In addition to the kernel implementation, there must be user-space support
657+
for the new ioctl. There's code in Mesa that might be able to use the new
658+
call.
659+
660+
Contact: Thomas Zimmermann <tzimmermann@suse.de>
661+
662+
Level: Advanced
626663

627664
Better Testing
628665
==============

drivers/accel/amdxdna/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ amdxdna-y := \
1414
amdxdna_mailbox.o \
1515
amdxdna_mailbox_helper.o \
1616
amdxdna_pci_drv.o \
17+
amdxdna_pm.o \
1718
amdxdna_sysfs.o \
1819
amdxdna_ubuf.o \
1920
npu1_regs.o \

0 commit comments

Comments
 (0)