Skip to content

Commit b08494a

Browse files
committed
Merge tag 'drm-next-2025-05-28' of https://gitlab.freedesktop.org/drm/kernel
Pull drm updates from Dave Airlie: "As part of building up nova-core/nova-drm pieces we've brought in some rust abstractions through this tree, aux bus being the main one, with devres changes also in the driver-core tree. Along with the drm core abstractions and enough nova-core/nova-drm to use them. This is still all stub work under construction, to build the nova driver upstream. The other big NVIDIA related one is nouveau adds support for Hopper/Blackwell GPUs, this required a new GSP firmware update to 570.144, and a bunch of rework in order to support multiple fw interfaces. There is also the introduction of an asahi uapi header file as a precursor to getting the real driver in later, but to unblock userspace mesa packages while the driver is trapped behind rust enablement. Otherwise it's the usual mixture of stuff all over, amdgpu, i915/xe, and msm being the main ones, and some changes to vsprintf. new drivers: - bring in the asahi uapi header standalone - nova-drm: stub driver rust dependencies (for nova-core): - auxiliary - bus abstractions - driver registration - sample driver - devres changes from driver-core - revocable changes core: - add Apple fourcc modifiers - add virtio capset definitions - extend EXPORT_SYNC_FILE for timeline syncobjs - convert to devm_platform_ioremap_resource - refactor shmem helper page pinning - DP powerup/down link helpers - extended %p4cc in vsprintf.c to support fourcc prints - change vsprintf %p4cn to %p4chR, remove %p4cn - Add drm_file_err function - IN_FORMATS_ASYNC property - move sitronix from tiny to their own subdir rust: - add drm core infrastructure rust abstractions (device/driver, ioctl, file, gem) dma-buf: - adjust sg handling to not cache map on attach - allow setting dma-device for import - Add a helper to sort and deduplicate dma_fence arrays docs: - updated drm scheduler docs - fbdev todo update - fb rendering - actual brightness ttm: - fix delayed destroy resv object bridge: - add kunit tests - convert tc358775 to atomic - convert drivers to devm_drm_bridge_alloc - convert rk3066_hdmi to bridge driver scheduler: - add kunit tests panel: - refcount panels to improve lifetime handling - Powertip PH128800T004-ZZA01 - NLT NL13676BC25-03F, Tianma TM070JDHG34-00 - Himax HX8279/HX8279-D DDIC - Visionox G2647FB105 - Sitronix ST7571 - ZOTAC rotation quirk vkms: - allow attaching more displays i915: - xe3lpd display updates - vrr refactor - intel_display struct conversions - xe2hpd memory type identification - add link rate/count to i915_display_info - cleanup VGA plane handling - refactor HDCP GSC - fix SLPC wait boosting reference counting - add 20ms delay to engine reset - fix fence release on early probe errors xe: - SRIOV updates - BMG PCI ID update - support separate firmware for each GT - SVM fix, prelim SVM multi-device work - export fan speed - temp disable d3cold on BMG - backup VRAM in PM notifier instead of suspend/freeze - update xe_ttm_access_memory to use GPU for non-visible access - fix guc_info debugfs for VFs - use copy_from_user instead of __copy_from_user - append PCIe gen5 limitations to xe_firmware document amdgpu: - DSC cleanup - DC Scaling updates - Fused I2C-over-AUX updates - DMUB updates - Use drm_file_err in amdgpu - Enforce isolation updates - Use new dma_fence helpers - USERQ fixes - Documentation updates - SR-IOV updates - RAS updates - PSP 12 cleanups - GC 9.5 updates - SMU 13.x updates - VCN / JPEG SR-IOV updates amdkfd: - Update error messages for SDMA - Userptr updates - XNACK fixes radeon: - CIK doorbell cleanup nouveau: - add support for NVIDIA r570 GSP firmware - enable Hopper/Blackwell support nova-core: - fix task list - register definition infrastructure - move firmware into own rust module - register auxiliary device for nova-drm nova-drm: - initial driver skeleton msm: - GPU: - ACD (adaptive clock distribution) for X1-85 - drop fictional address_space_size - improve GMU HFI response time out robustness - fix crash when throttling during boot - DPU: - use single CTL path for flushing on DPU 5.x+ - improve SSPP allocation code for better sharing - Enabled SmartDMA on SM8150, SC8180X, SC8280XP, SM8550 - Added SAR2130P support - Disabled DSC support on MSM8937, MSM8917, MSM8953, SDM660 - DP: - switch to new audio helpers - better LTTPR handling - DSI: - Added support for SA8775P - Added SAR2130P support - HDMI: - Switched to use new helpers for ACR data - Fixed old standing issue of HPD not working in some cases amdxdna: - add dma-buf support - allow empty command submits renesas: - add dma-buf support - add zpos, alpha, blend support panthor: - fail properly for NO_MMAP bos - add SET_LABEL ioctl - debugfs BO dumping support imagination: - update DT bindings - support TI AM68 GPU hibmc: - improve interrupt handling and HPD support virtio: - add panic handler support rockchip: - add RK3588 support - add DP AUX bus panel support ivpu: - add heartbeat based hangcheck mediatek: - prepares support for MT8195/99 HDMIv2/DDCv2 anx7625: - improve HPD tegra: - speed up firmware loading * tag 'drm-next-2025-05-28' of https://gitlab.freedesktop.org/drm/kernel: (1627 commits) drm/nouveau/tegra: Fix error pointer vs NULL return in nvkm_device_tegra_resource_addr() drm/xe: Default auto_link_downgrade status to false drm/xe/guc: Make creation of SLPC debugfs files conditional drm/i915/display: Add check for alloc_ordered_workqueue() and alloc_workqueue() drm/i915/dp_mst: Work around Thunderbolt sink disconnect after SINK_COUNT_ESI read drm/i915/ptl: Use everywhere the correct DDI port clock select mask drm/nouveau/kms: add support for GB20x drm/dp: add option to disable zero sized address only transactions. drm/nouveau: add support for GB20x drm/nouveau/gsp: add hal for fifo.chan.doorbell_handle drm/nouveau: add support for GB10x drm/nouveau/gf100-: track chan progress with non-WFI semaphore release drm/nouveau/nv50-: separate CHANNEL_GPFIFO handling out from CHANNEL_DMA drm/nouveau: add helper functions for allocating pinned/cpu-mapped bos drm/nouveau: add support for GH100 drm/nouveau: improve handling of 64-bit BARs drm/nouveau/gv100-: switch to volta semaphore methods drm/nouveau/gsp: support deeper page tables in COPY_SERVER_RESERVED_PDES drm/nouveau/gsp: init client VMMs with NV0080_CTRL_DMA_SET_PAGE_DIRECTORY drm/nouveau/gsp: fetch level shift and PDE from BAR2 VMM ...
2 parents a61e260 + f8bb3ed commit b08494a

File tree

1,726 files changed

+71429
-36219
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,726 files changed

+71429
-36219
lines changed

.clang-format

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -722,6 +722,13 @@ ForEachMacros:
722722
- 'v4l2_m2m_for_each_src_buf'
723723
- 'v4l2_m2m_for_each_src_buf_safe'
724724
- 'virtio_device_for_each_vq'
725+
- 'vkms_config_for_each_connector'
726+
- 'vkms_config_for_each_crtc'
727+
- 'vkms_config_for_each_encoder'
728+
- 'vkms_config_for_each_plane'
729+
- 'vkms_config_connector_for_each_possible_encoder'
730+
- 'vkms_config_encoder_for_each_possible_crtc'
731+
- 'vkms_config_plane_for_each_possible_crtc'
725732
- 'while_for_each_ftrace_op'
726733
- 'workloads__for_each'
727734
- 'xa_for_each'

Documentation/ABI/stable/sysfs-class-backlight

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ Date: March 2006
2626
KernelVersion: 2.6.17
2727
Contact: Richard Purdie <[email protected]>
2828
Description:
29-
Show the actual brightness by querying the hardware.
29+
Show the actual brightness by querying the hardware. Due
30+
to implementation differences in hardware this may not
31+
match the value in 'brightness'. For example some hardware
32+
may treat blanking differently or have custom power saving
33+
features. Userspace should generally use the values in
34+
'brightness' to make decisions.
3035
Users: HAL
3136

3237
What: /sys/class/backlight/<backlight>/max_brightness

Documentation/ABI/testing/sysfs-driver-intel-xe-hwmon

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,27 @@ Contact: [email protected]
124124
Description: RO. VRAM temperature in millidegree Celsius.
125125

126126
Only supported for particular Intel Xe graphics platforms.
127+
128+
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/fan1_input
129+
Date: March 2025
130+
KernelVersion: 6.16
131+
132+
Description: RO. Fan 1 speed in RPM.
133+
134+
Only supported for particular Intel Xe graphics platforms.
135+
136+
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/fan2_input
137+
Date: March 2025
138+
KernelVersion: 6.16
139+
140+
Description: RO. Fan 2 speed in RPM.
141+
142+
Only supported for particular Intel Xe graphics platforms.
143+
144+
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/fan3_input
145+
Date: March 2025
146+
KernelVersion: 6.16
147+
148+
Description: RO. Fan 3 speed in RPM.
149+
150+
Only supported for particular Intel Xe graphics platforms.

Documentation/core-api/printk-formats.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -647,6 +647,38 @@ Examples::
647647
%p4cc Y10 little-endian (0x20303159)
648648
%p4cc NV12 big-endian (0xb231564e)
649649

650+
Generic FourCC code
651+
-------------------
652+
653+
::
654+
%p4c[h[R]lb] gP00 (0x67503030)
655+
656+
Print a generic FourCC code, as both ASCII characters and its numerical
657+
value as hexadecimal.
658+
659+
The generic FourCC code is always printed in the big-endian format,
660+
the most significant byte first. This is the opposite of V4L/DRM FourCCs.
661+
662+
The additional ``h``, ``hR``, ``l``, and ``b`` specifiers define what
663+
endianness is used to load the stored bytes. The data might be interpreted
664+
using the host, reversed host byte order, little-endian, or big-endian.
665+
666+
Passed by reference.
667+
668+
Examples for a little-endian machine, given &(u32)0x67503030::
669+
670+
%p4ch gP00 (0x67503030)
671+
%p4chR 00Pg (0x30305067)
672+
%p4cl gP00 (0x67503030)
673+
%p4cb 00Pg (0x30305067)
674+
675+
Examples for a big-endian machine, given &(u32)0x67503030::
676+
677+
%p4ch gP00 (0x67503030)
678+
%p4chR 00Pg (0x30305067)
679+
%p4cl 00Pg (0x30305067)
680+
%p4cb gP00 (0x67503030)
681+
650682
Rust
651683
----
652684

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/mediatek/mediatek,mt8195-hdmi-ddc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MediaTek HDMI MT8195 series HDMI Display Data Channel (DDC)
8+
9+
maintainers:
10+
- AngeloGioacchino Del Regno <[email protected]>
11+
12+
13+
properties:
14+
compatible:
15+
oneOf:
16+
- const: mediatek,mt8195-hdmi-ddc
17+
- items:
18+
- const: mediatek,mt8188-hdmi-ddc
19+
- const: mediatek,mt8195-hdmi-ddc
20+
21+
clocks:
22+
maxItems: 1
23+
24+
power-domains:
25+
maxItems: 1
26+
27+
required:
28+
- compatible
29+
- clocks
30+
31+
additionalProperties: false
32+
33+
examples:
34+
- |
35+
hdmi {
36+
hdmi_ddc: i2c {
37+
compatible = "mediatek,mt8195-hdmi-ddc";
38+
clocks = <&clk26m>;
39+
};
40+
};
41+
...
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/mediatek/mediatek,mt8195-hdmi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MediaTek MT8195 series HDMI-TX Encoder
8+
9+
maintainers:
10+
- AngeloGioacchino Del Regno <[email protected]>
11+
12+
13+
description:
14+
The MediaTek HDMI-TX v2 encoder can generate HDMI format data based on
15+
the HDMI Specification 2.0b.
16+
17+
properties:
18+
compatible:
19+
enum:
20+
- mediatek,mt8188-hdmi-tx
21+
- mediatek,mt8195-hdmi-tx
22+
23+
reg:
24+
maxItems: 1
25+
26+
interrupts:
27+
maxItems: 1
28+
29+
clocks:
30+
items:
31+
- description: HDMI Peripheral Bus (APB) clock
32+
- description: HDCP and HDMI_TOP clock
33+
- description: HDCP, HDMI_TOP and HDMI Audio reference clock
34+
- description: VPP HDMI Split clock
35+
36+
clock-names:
37+
items:
38+
- const: bus
39+
- const: hdcp
40+
- const: hdcp24m
41+
- const: hdmi-split
42+
43+
i2c:
44+
type: object
45+
$ref: /schemas/display/mediatek/mediatek,mt8195-hdmi-ddc.yaml
46+
unevaluatedProperties: false
47+
description: HDMI DDC I2C controller
48+
49+
phys:
50+
maxItems: 1
51+
description: PHY providing clocking TMDS and pixel to controller
52+
53+
phy-names:
54+
items:
55+
- const: hdmi
56+
57+
power-domains:
58+
maxItems: 1
59+
60+
'#sound-dai-cells':
61+
const: 1
62+
63+
ports:
64+
$ref: /schemas/graph.yaml#/properties/ports
65+
66+
properties:
67+
port@0:
68+
$ref: /schemas/graph.yaml#/properties/port
69+
description:
70+
Input port, usually connected to the output port of a DPI
71+
72+
port@1:
73+
$ref: /schemas/graph.yaml#/properties/port
74+
description:
75+
Output port that must be connected either to the input port of
76+
a HDMI connector node containing a ddc-i2c-bus, or to the input
77+
port of an attached bridge chip, such as a SlimPort transmitter.
78+
79+
required:
80+
- port@0
81+
- port@1
82+
83+
required:
84+
- compatible
85+
- reg
86+
- interrupts
87+
- clocks
88+
- clock-names
89+
- power-domains
90+
- phys
91+
- phy-names
92+
- ports
93+
94+
allOf:
95+
- $ref: /schemas/sound/dai-common.yaml#
96+
97+
additionalProperties: false
98+
99+
examples:
100+
- |
101+
#include <dt-bindings/clock/mt8195-clk.h>
102+
#include <dt-bindings/interrupt-controller/arm-gic.h>
103+
#include <dt-bindings/power/mt8195-power.h>
104+
105+
soc {
106+
#address-cells = <2>;
107+
#size-cells = <2>;
108+
109+
hdmi@1c300000 {
110+
compatible = "mediatek,mt8195-hdmi-tx";
111+
reg = <0 0x1c300000 0 0x1000>;
112+
clocks = <&topckgen CLK_TOP_HDMI_APB>,
113+
<&topckgen CLK_TOP_HDCP>,
114+
<&topckgen CLK_TOP_HDCP_24M>,
115+
<&vppsys1 CLK_VPP1_VPP_SPLIT_HDMI>;
116+
clock-names = "bus", "hdcp", "hdcp24m", "hdmi-split";
117+
interrupts = <GIC_SPI 677 IRQ_TYPE_LEVEL_HIGH 0>;
118+
phys = <&hdmi_phy>;
119+
phy-names = "hdmi";
120+
power-domains = <&spm MT8195_POWER_DOMAIN_HDMI_TX>;
121+
pinctrl-names = "default";
122+
pinctrl-0 = <&hdmi_pins>;
123+
#sound-dai-cells = <1>;
124+
125+
hdmitx_ddc: i2c {
126+
compatible = "mediatek,mt8195-hdmi-ddc";
127+
clocks = <&clk26m>;
128+
};
129+
130+
ports {
131+
#address-cells = <1>;
132+
#size-cells = <0>;
133+
134+
port@0 {
135+
reg = <0>;
136+
137+
hdmi_in: endpoint {
138+
remote-endpoint = <&dpi1_out>;
139+
};
140+
};
141+
142+
port@1 {
143+
reg = <1>;
144+
145+
hdmi_out: endpoint {
146+
remote-endpoint = <&hdmi_connector_in>;
147+
};
148+
};
149+
};
150+
};
151+
};

Documentation/devicetree/bindings/display/msm/dp-controller.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ properties:
3131
- qcom,sm8650-dp
3232
- items:
3333
- enum:
34+
- qcom,sar2130p-dp
3435
- qcom,sm6350-dp
3536
- qcom,sm8150-dp
3637
- qcom,sm8250-dp

Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ properties:
2323
- qcom,msm8996-dsi-ctrl
2424
- qcom,msm8998-dsi-ctrl
2525
- qcom,qcm2290-dsi-ctrl
26+
- qcom,sa8775p-dsi-ctrl
27+
- qcom,sar2130p-dsi-ctrl
2628
- qcom,sc7180-dsi-ctrl
2729
- qcom,sc7280-dsi-ctrl
2830
- qcom,sdm660-dsi-ctrl
@@ -314,6 +316,8 @@ allOf:
314316
contains:
315317
enum:
316318
- qcom,msm8998-dsi-ctrl
319+
- qcom,sa8775p-dsi-ctrl
320+
- qcom,sar2130p-dsi-ctrl
317321
- qcom,sc7180-dsi-ctrl
318322
- qcom,sc7280-dsi-ctrl
319323
- qcom,sdm845-dsi-ctrl

Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ properties:
1717
enum:
1818
- qcom,dsi-phy-7nm
1919
- qcom,dsi-phy-7nm-8150
20+
- qcom,sa8775p-dsi-phy-5nm
21+
- qcom,sar2130p-dsi-phy-5nm
2022
- qcom,sc7280-dsi-phy-7nm
2123
- qcom,sm6375-dsi-phy-7nm
2224
- qcom,sm8350-dsi-phy-5nm

Documentation/devicetree/bindings/display/msm/hdmi.yaml

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -66,21 +66,6 @@ properties:
6666
maxItems: 1
6767
description: hpd pin
6868

69-
qcom,hdmi-tx-mux-en-gpios:
70-
maxItems: 1
71-
deprecated: true
72-
description: HDMI mux enable pin
73-
74-
qcom,hdmi-tx-mux-sel-gpios:
75-
maxItems: 1
76-
deprecated: true
77-
description: HDMI mux select pin
78-
79-
qcom,hdmi-tx-mux-lpm-gpios:
80-
maxItems: 1
81-
deprecated: true
82-
description: HDMI mux lpm pin
83-
8469
'#sound-dai-cells':
8570
const: 1
8671

@@ -89,12 +74,12 @@ properties:
8974
$ref: /schemas/graph.yaml#/properties/ports
9075
properties:
9176
port@0:
92-
$ref: /schemas/graph.yaml#/$defs/port-base
77+
$ref: /schemas/graph.yaml#/properties/port
9378
description: |
9479
Input endpoints of the controller.
9580
9681
port@1:
97-
$ref: /schemas/graph.yaml#/$defs/port-base
82+
$ref: /schemas/graph.yaml#/properties/port
9883
description: |
9984
Output endpoints of the controller.
10085

0 commit comments

Comments
 (0)