Skip to content

Commit cf65598

Browse files
committed
Merge tag 'drm-next-2024-01-10' of git://anongit.freedesktop.org/drm/drm
Pull drm updates from Dave Airlie: "This contains two major new drivers: - imagination is a first driver for Imagination Technologies devices, it only covers very specific devices, but there is hope to grow it - xe is a reboot of the i915 GPU (shares display) side using a more upstream focused development model, and trying to maximise code sharing. It's not enabled for any hw by default, and will hopefully get switched on for Intel's Lunarlake. This also drops a bunch of the old UMS ioctls. It's been dead long enough. amdgpu has a bunch of new color management code that is being used in the Steam Deck. amdgpu also has a new ACPI WBRF interaction to help avoid radio interference. Otherwise it's the usual lots of changes in lots of places. Detailed summary: new drivers: - imagination - new driver for Imagination Technologies GPU - xe - new driver for Intel GPUs using core drm concepts core: - add CLOSE_FB ioctl - remove old UMS ioctls - increase max objects to accomodate AMD color mgmt encoder: - create per-encoder debugfs directory edid: - split out drm_eld - SAD helpers - drop edid_firmware module parameter format-helper: - cache format conversion buffers sched: - move from kthread to workqueue - rename some internals - implement dynamic job-flow control gpuvm: - provide more features to handle GEM objects client: - don't acquire module reference displayport: - add mst path property documentation fdinfo: - alignment fix dma-buf: - add fence timestamp helper - add fence deadline support bridge: - transparent aux-bridge for DP/USB-C - lt8912b: add suspend/resume support and power regulator support panel: - edp: AUO B116XTN02, BOE NT116WHM-N21,836X2, NV116WHM-N49 - chromebook panel support - elida-kd35t133: rework pm - powkiddy RK2023 panel - himax-hx8394: drop prepare/unprepare and shutdown logic - BOE BP101WX1-100, Powkiddy X55, Ampire AM8001280G - Evervision VGG644804, SDC ATNA45AF01 - nv3052c: register docs, init sequence fixes, fascontek FS035VG158 - st7701: Anbernic RG-ARC support - r63353 panel controller - Ilitek ILI9805 panel controller - AUO G156HAN04.0 simplefb: - support memory regions - support power domains amdgpu: - add new 64-bit sequence number infrastructure - add AMD specific color management - ACPI WBRF support for RF interference handling - GPUVM updates - RAS updates - DCN 3.5 updates - Rework PCIe link speed handling - Document GPU reset types - DMUB fixes - eDP fixes - NBIO 7.9/7.11 updates - SubVP updates - XGMI PCIe state dumping for aqua vanjaram - GFX11 golden register updates - enable tunnelling on high pri compute amdkfd: - Migrate TLB flushing logic to amdgpu - Trap handler fixes - Fix restore workers handling on suspend/resume - Fix possible memory leak in pqm_uninit() - support import/export of dma-bufs using GEM handles radeon: - fix possible overflows in command buffer checking - check for errors in ring_lock i915: - reorg display code for reuse in xe driver - fdinfo memory stats printing - DP MST bandwidth mgmt improvements - DP panel replay enabling - MTL C20 phy state verification - MTL DP DSC fractional bpp support - Audio fastset support - use dma_fence interfaces instead of i915_sw_fence - Separate gem and display code - AUX register macro refactoring - Separate display module/device parameters - Move display capabilities debugfs under display - Makefile cleanups - Register cleanups - Move display lock inits under display/ - VLV/CHV DPIO PHY register and interface refactoring - DSI VBT sequence refactoring - C10/C20 PHY PLL hardware readout - DPLL code cleanups - Cleanup PXP plane protection checks - Improve display debug msgs - PSR selective fetch fixes/improvements - DP MST fixes - Xe2LPD FBC restrictions removed - DGFX uses direct VBT pin mapping - more MTL WAs - fix MTL eDP bug - eliminate use of kmap_atomic habanalabs: - sysfs entry to identify a device minor id with debugfs path - sysfs entry to expose device module id - add signed device info retrieval through INFO ioctl - add Gaudi2C device support - pcie reset prepare/done hooks msm: - Add support for SDM670, SM8650 - Handle the CFG interconnect to fix the obscure hangs / timeouts - Kconfig fix for QMP dependency - use managed allocators - DPU: SDM670, SM8650 support - DPU: Enable SmartDMA on SM8350 and SM8450 - DP: enable runtime PM support - GPU: add metadata UAPI - GPU: move devcoredumps to GPU device - GPU: convert to drm_exec ivpu: - update FW API - new debugfs file - a new NOP job submission test mode - improve suspend/resume - PM improvements - MMU PT optimizations - firmware profile frequency support - support for uncached buffers - switch to gem shmem helpers - replace kthread with threaded irqs rockchip: - rk3066_hdmi: convert to atomic - vop2: support nv20 and nv30 - rk3588 support mediatek: - use devm_platform_ioremap_resource - stop using iommu_present - MT8188 VDOSYS1 display support panfrost: - PM improvements - improve interrupt handling as poweroff qaic: - allow to run with single MSI - support host/device time sync - switch to persistent DRM devices exynos: - fix potential error pointer dereference - fix wrong error checking - add missing call to drm_atomic_helper_shutdown omapdrm: - dma-fence lockdep annotation fix tidss: - dma-fence lockdep annotation fix - support for AM62A7 v3d: - BCM2712 - rpi5 support - fdinfo + gputop support - uapi for CPU job handling virtio-gpu: - add context debug name" * tag 'drm-next-2024-01-10' of git://anongit.freedesktop.org/drm/drm: (2340 commits) drm/amd/display: Allow z8/z10 from driver drm/amd/display: fix bandwidth validation failure on DCN 2.1 drm/amdgpu: apply the RV2 system aperture fix to RN/CZN as well drm/amd/display: Move fixpt_from_s3132 to amdgpu_dm drm/amd/display: Fix recent checkpatch errors in amdgpu_dm Revert "drm/amdkfd: Relocate TBA/TMA to opposite side of VM hole" drm/amd/display: avoid stringop-overflow warnings for dp_decide_lane_settings() drm/amd/display: Fix power_helpers.c codestyle drm/amd/display: Fix hdcp_log.h codestyle drm/amd/display: Fix hdcp2_execution.c codestyle drm/amd/display: Fix hdcp_psp.h codestyle drm/amd/display: Fix freesync.c codestyle drm/amd/display: Fix hdcp_psp.c codestyle drm/amd/display: Fix hdcp1_execution.c codestyle drm/amd/pm/smu7: fix a memleak in smu7_hwmgr_backend_init drm/amdkfd: Fix iterator used outside loop in 'kfd_add_peer_prop()' drm/amdgpu: Drop 'fence' check in 'to_amdgpu_amdkfd_fence()' drm/amdkfd: Confirm list is non-empty before utilizing list_first_entry in kfd_topology.c drm/amdgpu: Fix '*fw' from request_firmware() not released in 'amdgpu_ucode_request()' drm/amdgpu: Fix variable 'mca_funcs' dereferenced before NULL check in 'amdgpu_mca_smu_get_mca_entry()' ...
2 parents 70d201a + b76c01f commit cf65598

File tree

1,612 files changed

+132721
-25010
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,612 files changed

+132721
-25010
lines changed

Documentation/ABI/testing/debugfs-driver-habanalabs

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
What: /sys/kernel/debug/accel/<n>/addr
1+
What: /sys/kernel/debug/accel/<parent_device>/addr
22
Date: Jan 2019
33
KernelVersion: 5.1
44
@@ -8,34 +8,34 @@ Description: Sets the device address to be used for read or write through
88
only when the IOMMU is disabled.
99
The acceptable value is a string that starts with "0x"
1010

11-
What: /sys/kernel/debug/accel/<n>/clk_gate
11+
What: /sys/kernel/debug/accel/<parent_device>/clk_gate
1212
Date: May 2020
1313
KernelVersion: 5.8
1414
1515
Description: This setting is now deprecated as clock gating is handled solely by the f/w
1616

17-
What: /sys/kernel/debug/accel/<n>/command_buffers
17+
What: /sys/kernel/debug/accel/<parent_device>/command_buffers
1818
Date: Jan 2019
1919
KernelVersion: 5.1
2020
2121
Description: Displays a list with information about the currently allocated
2222
command buffers
2323

24-
What: /sys/kernel/debug/accel/<n>/command_submission
24+
What: /sys/kernel/debug/accel/<parent_device>/command_submission
2525
Date: Jan 2019
2626
KernelVersion: 5.1
2727
2828
Description: Displays a list with information about the currently active
2929
command submissions
3030

31-
What: /sys/kernel/debug/accel/<n>/command_submission_jobs
31+
What: /sys/kernel/debug/accel/<parent_device>/command_submission_jobs
3232
Date: Jan 2019
3333
KernelVersion: 5.1
3434
3535
Description: Displays a list with detailed information about each JOB (CB) of
3636
each active command submission
3737

38-
What: /sys/kernel/debug/accel/<n>/data32
38+
What: /sys/kernel/debug/accel/<parent_device>/data32
3939
Date: Jan 2019
4040
KernelVersion: 5.1
4141
@@ -50,7 +50,7 @@ Description: Allows the root user to read or write directly through the
5050
If the IOMMU is disabled, it also allows the root user to read
5151
or write from the host a device VA of a host mapped memory
5252

53-
What: /sys/kernel/debug/accel/<n>/data64
53+
What: /sys/kernel/debug/accel/<parent_device>/data64
5454
Date: Jan 2020
5555
KernelVersion: 5.6
5656
@@ -65,7 +65,7 @@ Description: Allows the root user to read or write 64 bit data directly
6565
If the IOMMU is disabled, it also allows the root user to read
6666
or write from the host a device VA of a host mapped memory
6767

68-
What: /sys/kernel/debug/accel/<n>/data_dma
68+
What: /sys/kernel/debug/accel/<parent_device>/data_dma
6969
Date: Apr 2021
7070
KernelVersion: 5.13
7171
@@ -83,22 +83,22 @@ Description: Allows the root user to read from the device's internal
8383
workloads.
8484
Only supported on GAUDI at this stage.
8585

86-
What: /sys/kernel/debug/accel/<n>/device
86+
What: /sys/kernel/debug/accel/<parent_device>/device
8787
Date: Jan 2019
8888
KernelVersion: 5.1
8989
9090
Description: Enables the root user to set the device to specific state.
9191
Valid values are "disable", "enable", "suspend", "resume".
9292
User can read this property to see the valid values
9393

94-
What: /sys/kernel/debug/accel/<n>/device_release_watchdog_timeout
94+
What: /sys/kernel/debug/accel/<parent_device>/device_release_watchdog_timeout
9595
Date: Oct 2022
9696
KernelVersion: 6.2
9797
9898
Description: The watchdog timeout value in seconds for a device release upon
9999
certain error cases, after which the device is reset.
100100

101-
What: /sys/kernel/debug/accel/<n>/dma_size
101+
What: /sys/kernel/debug/accel/<parent_device>/dma_size
102102
Date: Apr 2021
103103
KernelVersion: 5.13
104104
@@ -108,7 +108,7 @@ Description: Specify the size of the DMA transaction when using DMA to read
108108
When the write is finished, the user can read the "data_dma"
109109
blob
110110

111-
What: /sys/kernel/debug/accel/<n>/dump_razwi_events
111+
What: /sys/kernel/debug/accel/<parent_device>/dump_razwi_events
112112
Date: Aug 2022
113113
KernelVersion: 5.20
114114
@@ -117,38 +117,38 @@ Description: Dumps all razwi events to dmesg if exist.
117117
the routine will clear the status register.
118118
Usage: cat dump_razwi_events
119119

120-
What: /sys/kernel/debug/accel/<n>/dump_security_violations
120+
What: /sys/kernel/debug/accel/<parent_device>/dump_security_violations
121121
Date: Jan 2021
122122
KernelVersion: 5.12
123123
124124
Description: Dumps all security violations to dmesg. This will also ack
125125
all security violations meanings those violations will not be
126126
dumped next time user calls this API
127127

128-
What: /sys/kernel/debug/accel/<n>/engines
128+
What: /sys/kernel/debug/accel/<parent_device>/engines
129129
Date: Jul 2019
130130
KernelVersion: 5.3
131131
132132
Description: Displays the status registers values of the device engines and
133133
their derived idle status
134134

135-
What: /sys/kernel/debug/accel/<n>/i2c_addr
135+
What: /sys/kernel/debug/accel/<parent_device>/i2c_addr
136136
Date: Jan 2019
137137
KernelVersion: 5.1
138138
139139
Description: Sets I2C device address for I2C transaction that is generated
140140
by the device's CPU, Not available when device is loaded with secured
141141
firmware
142142

143-
What: /sys/kernel/debug/accel/<n>/i2c_bus
143+
What: /sys/kernel/debug/accel/<parent_device>/i2c_bus
144144
Date: Jan 2019
145145
KernelVersion: 5.1
146146
147147
Description: Sets I2C bus address for I2C transaction that is generated by
148148
the device's CPU, Not available when device is loaded with secured
149149
firmware
150150

151-
What: /sys/kernel/debug/accel/<n>/i2c_data
151+
What: /sys/kernel/debug/accel/<parent_device>/i2c_data
152152
Date: Jan 2019
153153
KernelVersion: 5.1
154154
@@ -157,59 +157,59 @@ Description: Triggers an I2C transaction that is generated by the device's
157157
reading from the file generates a read transaction, Not available
158158
when device is loaded with secured firmware
159159

160-
What: /sys/kernel/debug/accel/<n>/i2c_len
160+
What: /sys/kernel/debug/accel/<parent_device>/i2c_len
161161
Date: Dec 2021
162162
KernelVersion: 5.17
163163
164164
Description: Sets I2C length in bytes for I2C transaction that is generated by
165165
the device's CPU, Not available when device is loaded with secured
166166
firmware
167167

168-
What: /sys/kernel/debug/accel/<n>/i2c_reg
168+
What: /sys/kernel/debug/accel/<parent_device>/i2c_reg
169169
Date: Jan 2019
170170
KernelVersion: 5.1
171171
172172
Description: Sets I2C register id for I2C transaction that is generated by
173173
the device's CPU, Not available when device is loaded with secured
174174
firmware
175175

176-
What: /sys/kernel/debug/accel/<n>/led0
176+
What: /sys/kernel/debug/accel/<parent_device>/led0
177177
Date: Jan 2019
178178
KernelVersion: 5.1
179179
180180
Description: Sets the state of the first S/W led on the device, Not available
181181
when device is loaded with secured firmware
182182

183-
What: /sys/kernel/debug/accel/<n>/led1
183+
What: /sys/kernel/debug/accel/<parent_device>/led1
184184
Date: Jan 2019
185185
KernelVersion: 5.1
186186
187187
Description: Sets the state of the second S/W led on the device, Not available
188188
when device is loaded with secured firmware
189189

190-
What: /sys/kernel/debug/accel/<n>/led2
190+
What: /sys/kernel/debug/accel/<parent_device>/led2
191191
Date: Jan 2019
192192
KernelVersion: 5.1
193193
194194
Description: Sets the state of the third S/W led on the device, Not available
195195
when device is loaded with secured firmware
196196

197-
What: /sys/kernel/debug/accel/<n>/memory_scrub
197+
What: /sys/kernel/debug/accel/<parent_device>/memory_scrub
198198
Date: May 2022
199199
KernelVersion: 5.19
200200
201201
Description: Allows the root user to scrub the dram memory. The scrubbing
202202
value can be set using the debugfs file memory_scrub_val.
203203

204-
What: /sys/kernel/debug/accel/<n>/memory_scrub_val
204+
What: /sys/kernel/debug/accel/<parent_device>/memory_scrub_val
205205
Date: May 2022
206206
KernelVersion: 5.19
207207
208208
Description: The value to which the dram will be set to when the user
209209
scrubs the dram using 'memory_scrub' debugfs file and
210210
the scrubbing value when using module param 'memory_scrub'
211211

212-
What: /sys/kernel/debug/accel/<n>/mmu
212+
What: /sys/kernel/debug/accel/<parent_device>/mmu
213213
Date: Jan 2019
214214
KernelVersion: 5.1
215215
@@ -219,7 +219,7 @@ Description: Displays the hop values and physical address for a given ASID
219219
e.g. to display info about VA 0x1000 for ASID 1 you need to do:
220220
echo "1 0x1000" > /sys/kernel/debug/accel/0/mmu
221221

222-
What: /sys/kernel/debug/accel/<n>/mmu_error
222+
What: /sys/kernel/debug/accel/<parent_device>/mmu_error
223223
Date: Mar 2021
224224
KernelVersion: 5.12
225225
@@ -229,7 +229,7 @@ Description: Check and display page fault or access violation mmu errors for
229229
echo "0x200" > /sys/kernel/debug/accel/0/mmu_error
230230
cat /sys/kernel/debug/accel/0/mmu_error
231231

232-
What: /sys/kernel/debug/accel/<n>/monitor_dump
232+
What: /sys/kernel/debug/accel/<parent_device>/monitor_dump
233233
Date: Mar 2022
234234
KernelVersion: 5.19
235235
@@ -243,7 +243,7 @@ Description: Allows the root user to dump monitors status from the device's
243243
This interface doesn't support concurrency in the same device.
244244
Only supported on GAUDI.
245245

246-
What: /sys/kernel/debug/accel/<n>/monitor_dump_trig
246+
What: /sys/kernel/debug/accel/<parent_device>/monitor_dump_trig
247247
Date: Mar 2022
248248
KernelVersion: 5.19
249249
@@ -253,22 +253,22 @@ Description: Triggers dump of monitor data. The value to trigger the operatio
253253
When the write is finished, the user can read the "monitor_dump"
254254
blob
255255

256-
What: /sys/kernel/debug/accel/<n>/set_power_state
256+
What: /sys/kernel/debug/accel/<parent_device>/set_power_state
257257
Date: Jan 2019
258258
KernelVersion: 5.1
259259
260260
Description: Sets the PCI power state. Valid values are "1" for D0 and "2"
261261
for D3Hot
262262

263-
What: /sys/kernel/debug/accel/<n>/skip_reset_on_timeout
263+
What: /sys/kernel/debug/accel/<parent_device>/skip_reset_on_timeout
264264
Date: Jun 2021
265265
KernelVersion: 5.13
266266
267267
Description: Sets the skip reset on timeout option for the device. Value of
268268
"0" means device will be reset in case some CS has timed out,
269269
otherwise it will not be reset.
270270

271-
What: /sys/kernel/debug/accel/<n>/state_dump
271+
What: /sys/kernel/debug/accel/<parent_device>/state_dump
272272
Date: Oct 2021
273273
KernelVersion: 5.15
274274
@@ -279,37 +279,37 @@ Description: Gets the state dump occurring on a CS timeout or failure.
279279
Writing an integer X discards X state dumps, so that the
280280
next read would return X+1-st newest state dump.
281281

282-
What: /sys/kernel/debug/accel/<n>/stop_on_err
282+
What: /sys/kernel/debug/accel/<parent_device>/stop_on_err
283283
Date: Mar 2020
284284
KernelVersion: 5.6
285285
286286
Description: Sets the stop-on_error option for the device engines. Value of
287287
"0" is for disable, otherwise enable.
288288
Relevant only for GOYA and GAUDI.
289289

290-
What: /sys/kernel/debug/accel/<n>/timeout_locked
290+
What: /sys/kernel/debug/accel/<parent_device>/timeout_locked
291291
Date: Sep 2021
292292
KernelVersion: 5.16
293293
294294
Description: Sets the command submission timeout value in seconds.
295295

296-
What: /sys/kernel/debug/accel/<n>/userptr
296+
What: /sys/kernel/debug/accel/<parent_device>/userptr
297297
Date: Jan 2019
298298
KernelVersion: 5.1
299299
300300
Description: Displays a list with information about the current user
301301
pointers (user virtual addresses) that are pinned and mapped
302302
to DMA addresses
303303

304-
What: /sys/kernel/debug/accel/<n>/userptr_lookup
304+
What: /sys/kernel/debug/accel/<parent_device>/userptr_lookup
305305
Date: Oct 2021
306306
KernelVersion: 5.15
307307
308308
Description: Allows to search for specific user pointers (user virtual
309309
addresses) that are pinned and mapped to DMA addresses, and see
310310
their resolution to the specific dma address.
311311

312-
What: /sys/kernel/debug/accel/<n>/vm
312+
What: /sys/kernel/debug/accel/<parent_device>/vm
313313
Date: Jan 2019
314314
KernelVersion: 5.1
315315

Documentation/ABI/testing/sysfs-driver-habanalabs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,18 @@ Contact: [email protected]
149149
Description: Displays the current clock frequency, in Hz, of the MME compute
150150
engine. This property is valid only for the Goya ASIC family
151151

152+
What: /sys/class/accel/accel<n>/device/module_id
153+
Date: Nov 2023
154+
KernelVersion: not yet upstreamed
155+
156+
Description: Displays the device's module id
157+
158+
What: /sys/class/accel/accel<n>/device/parent_device
159+
Date: Nov 2023
160+
KernelVersion: 6.8
161+
162+
Description: Displays the name of the parent device of the accel device
163+
152164
What: /sys/class/accel/accel<n>/device/pci_addr
153165
Date: Jan 2019
154166
KernelVersion: 5.1
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
What: /sys/devices/.../hwmon/hwmon<i>/power1_max
2+
Date: September 2023
3+
KernelVersion: 6.5
4+
5+
Description: RW. Card reactive sustained (PL1) power limit in microwatts.
6+
7+
The power controller will throttle the operating frequency
8+
if the power averaged over a window (typically seconds)
9+
exceeds this limit. A read value of 0 means that the PL1
10+
power limit is disabled, writing 0 disables the
11+
limit. Writing values > 0 and <= TDP will enable the power limit.
12+
13+
Only supported for particular Intel xe graphics platforms.
14+
15+
What: /sys/devices/.../hwmon/hwmon<i>/power1_rated_max
16+
Date: September 2023
17+
KernelVersion: 6.5
18+
19+
Description: RO. Card default power limit (default TDP setting).
20+
21+
Only supported for particular Intel xe graphics platforms.
22+
23+
What: /sys/devices/.../hwmon/hwmon<i>/power1_crit
24+
Date: September 2023
25+
KernelVersion: 6.5
26+
27+
Description: RW. Card reactive critical (I1) power limit in microwatts.
28+
29+
Card reactive critical (I1) power limit in microwatts is exposed
30+
for client products. The power controller will throttle the
31+
operating frequency if the power averaged over a window exceeds
32+
this limit.
33+
34+
Only supported for particular Intel xe graphics platforms.
35+
36+
What: /sys/devices/.../hwmon/hwmon<i>/curr1_crit
37+
Date: September 2023
38+
KernelVersion: 6.5
39+
40+
Description: RW. Card reactive critical (I1) power limit in milliamperes.
41+
42+
Card reactive critical (I1) power limit in milliamperes is
43+
exposed for server products. The power controller will throttle
44+
the operating frequency if the power averaged over a window
45+
exceeds this limit.
46+
47+
What: /sys/devices/.../hwmon/hwmon<i>/in0_input
48+
Date: September 2023
49+
KernelVersion: 6.5
50+
51+
Description: RO. Current Voltage in millivolt.
52+
53+
Only supported for particular Intel xe graphics platforms.
54+
55+
What: /sys/devices/.../hwmon/hwmon<i>/energy1_input
56+
Date: September 2023
57+
KernelVersion: 6.5
58+
59+
Description: RO. Energy input of device in microjoules.
60+
61+
Only supported for particular Intel xe graphics platforms.
62+
63+
What: /sys/devices/.../hwmon/hwmon<i>/power1_max_interval
64+
Date: October 2023
65+
KernelVersion: 6.6
66+
67+
Description: RW. Sustained power limit interval (Tau in PL1/Tau) in
68+
milliseconds over which sustained power is averaged.
69+
70+
Only supported for particular Intel xe graphics platforms.

0 commit comments

Comments
 (0)