Alex Deucher
820b3d376e
drm/amdgpu: don't attach the tlb fence for SI
...
SI hardware doesn't support pasids, user mode queues, or
KIQ/MES so there is no need for this. Doing so results in
a segfault as these callbacks are non-existent for SI.
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4744
Fixes: f3854e04b7 ("drm/amdgpu: attach tlb fence to the PTs update")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:59 -05:00
Alex Deucher
8acdad9344
drm/amd/display: Use GFP_ATOMIC in dc_create_plane_state()
...
This can get called from an atomic context.
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4470
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:53 -05:00
Jay Cornwall
4238888794
drm/amdkfd: Trap handler support for expert scheduling mode
...
The trap may be entered with dependency checking disabled.
Wait for dependency counters and save/restore scheduling mode.
v2:
Use ttmp1 instead of ttmp11. ttmp11 is not zero-initialized.
While the trap handler does zero this field before use, a user-mode
second-level trap handler could not rely on this being zero when
using an older kernel mode driver.
v3:
Use ttmp11 primarily but copy to ttmp1 before jumping to the
second level trap handler. ttmp1 is inspectable by a debugger.
Unexpected bits in the unused space may regress existing software.
Signed-off-by: Jay Cornwall <jay.cornwall@amd.com >
Reviewed-by: Lancelot Six <lancelot.six@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:46 -05:00
Srinivasan Shanmugam
97b2e10e94
drm/amdgpu/sdma_v7_1: Add missing inst_mask entry in sdma_v7_1_inst_gfx_resume()
...
The comment for sdma_v7_1_inst_gfx_resume() did not include the
inst_mask parameter, even though the function takes it as an argument.
Update the comment to document inst_mask as the mask of SDMA engine
instances to be enabled.
Fixes the below with gcc W=1:
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c:644 function parameter 'inst_mask' not described in 'sdma_v7_1_inst_gfx_resume'
Cc: Likun Gao <Likun.Gao@amd.com >
Cc: Le Ma <le.ma@amd.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: Christian König <christian.koenig@amd.com >
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:35 -05:00
Lijo Lazar
03d11f8564
drm/amd/pm: Use common helper for smuv14.0.2 dpm
...
Use helper function to print smuv14.0.2 dpm tables to sysfs.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:31 -05:00
Lijo Lazar
b2debbbb60
drm/amd/pm: Use common helper for smuv13.0.7 dpm
...
Use helper function to print smuv13.0.7 dpm tables to sysfs.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:28 -05:00
Lijo Lazar
85b0b7d7a3
drm/amd/pm: Use common helper for smuv13.0.6 dpm
...
Use helper function to print navi10 dpm tables to sysfs.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:25 -05:00
Lijo Lazar
a95f01edd8
drm/amd/pm: Use common helper for smuv13.0.0 dpm
...
Use helper function to print smuv13.0.0 dpm tables to sysfs.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:21 -05:00
Lijo Lazar
7ea1c722fe
drm/amd/pm: Use common helper for aldebaran dpm table
...
Use helper function to print aldebaran dpm tables to sysfs. Remove
unused functions.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:16 -05:00
Lijo Lazar
efb4febd52
drm/amd/pm: Use common helper for sienna dpm table
...
Use helper function to print sienna cichlid dpm tables to sysfs.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:12 -05:00
Lijo Lazar
5f77e0b11d
drm/amd/pm: Use common helper for navi10 dpm table
...
Use helper function to print navi10 dpm tables to sysfs. Also, remove
FCLK table as it is not supported in navi10.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:08 -05:00
Lijo Lazar
33becd7ccb
drm/amd/pm: Use common helper for arcturus dpm
...
Use the helper function to print DPM clock levels to sysfs.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:06 -05:00
Lijo Lazar
a08ea4bc77
drm/amd/pm: Add a helper to show dpm table
...
Add a helper function to print clock and pcie dpm levels through sysfs.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:20:02 -05:00
Lijo Lazar
f0ba2c1f12
drm/amd/pm: Use generic pcie dpm table for SMUv14
...
Use smu_pcie_table for SMUv14 SOCs.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:19:59 -05:00
Lijo Lazar
f75227fb3f
drm/amd/pm: Use generic pcie dpm table for SMUv13
...
Use smu_pcie_table for SMUv13 SOCs.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:19:53 -05:00
Lijo Lazar
c7d1bc0b02
drm/amd/pm: Use generic pcie dpm table for SMUv11
...
Use smu_pcie_table for SMUv11 SOCs.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:19:49 -05:00
Lijo Lazar
36b98a7229
drm/amd/pm: Add generic pcie dpm table
...
Add a generic pcie dpm table which contains the number of link clock
levels and link clock, pcie gen speed/width corresponding to each level.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:19:45 -05:00
Lijo Lazar
b4742a9e7f
drm/amd/pm: Use generic dpm table for SMUv14 SOCs
...
Use the generic dpm table structure instead of SMUv14 specific table.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:19:41 -05:00
Lijo Lazar
7380228401
drm/amd/pm: Use generic dpm table for SMUv13 SOCs
...
Use the generic dpm table structure instead of SMUv13 specific table.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:19:38 -05:00
Zhu Lingshan
cc6b66d661
amdkfd: introduce new ioctl AMDKFD_IOC_CREATE_PROCESS
...
This commit implemetns a new ioctl AMDKFD_IOC_CREATE_PROCESS
that creates a new secondary kfd_progress on the FD.
To keep backward compatibility, userspace programs need to invoke
this ioctl explicitly on a FD to create a secondary
kfd_process which replacing its primary kfd_process.
This commit bumps ioctl minor version.
Signed-off-by: Zhu Lingshan <lingshan.zhu@amd.com >
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:19:34 -05:00
Zhu Lingshan
e3491fa3f3
amdkfd: process debug trap ioctl only on a primary context
...
Set_debug_trap ioctl should work on a specific kfd_process
even when multiple contexts feature is implemented.
For consistency, this commit allow set_debug_trap ioctl only work on the
primary kfd process of a user space program
Signed-off-by: Zhu Lingshan <lingshan.zhu@amd.com >
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:19:30 -05:00
Lijo Lazar
3ec1a42f5f
drm/amd/pm: Use generic dpm table for SMUv11 SOCs
...
Remove SMUv11 specific DPM table and use the generic dpm table
structure.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:19:28 -05:00
Lijo Lazar
8c5c0ea2f9
drm/amd/pm: Add clock table structure
...
Add a common clock table structure to represent dpm levels for different
clocks.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:19:21 -05:00
Xiaogang Chen
448ee45353
drm/amdkfd: Use huge page size to check split svm range alignment
...
When split svm ranges that have been mapped using huge page should use huge
page size(2MB) to check split range alignment, not prange->granularity that
means migration granularity.
Fixes: 7ef6b2d4b7 ("drm/amdkfd: remap unaligned svm ranges that have split")
Signed-off-by: Xiaogang Chen <xiaogang.chen@amd.com >
Reviewed-by: Philip Yang <Philip.Yang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:46 -05:00
Alex Deucher
d3ff65243a
drm/amdgpu: add a helper for processing recoverable GPUVM faults
...
Add a common helper to remove the repeated logic from each
gmc module.
Suggested-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:38 -05:00
Lijo Lazar
a50d32c41f
drm/amd/pm: Deprecate print_clock_levels interface
...
Use emit_clock_levels instead of print_clock_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:35 -05:00
Lijo Lazar
6186199f32
drm/amd/pm: Use emit_clock_levels in vega20
...
Move to emit_clock_levels from print_clock_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:32 -05:00
Lijo Lazar
0229122fa1
drm/amd/pm: Use emit_clock_levels in vega12
...
Move to emit_clock_levels from print_clock_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:29 -05:00
Lijo Lazar
2084f2746e
drm/amd/pm: Use emit_clock_levels in vega10
...
Keep only emit_clock_levels, and remove print_clock_levels.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:26 -05:00
Lijo Lazar
a8b81d3ddb
drm/amd/pm: Use emit_clock_levels in SMUv10.0
...
Move to emit_clock_levels from print_clock_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:23 -05:00
Lijo Lazar
1803bdfb7e
drm/amd/pm: Use emit_clock_levels in SMUv8.0
...
Move to emit_clock_levels from print_clock_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:19 -05:00
Lijo Lazar
723c504b56
drm/amd/pm: Use emit_clock_levels in SMUv7.0
...
Move to emit_clock_levels from print_clock_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:16 -05:00
Lijo Lazar
c5842537bd
drm/amd/pm: Use emit_clk_levels in SMUv14.0.2
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:13 -05:00
Lijo Lazar
b0e0503cb4
drm/amd/pm: Use emit_clk_levels in SMUv14.0.0
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:10 -05:00
Lijo Lazar
5478777fd7
drm/amd/pm: Use emit_clk_levels in yellow carp
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:06 -05:00
Lijo Lazar
8456b756e5
drm/amd/pm: Use emit_clk_levels in SMUv13.0.7
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:03 -05:00
Lijo Lazar
3ddd11780f
drm/amd/pm: Use emit_clk_levels in SMUv13.0.6
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:14:01 -05:00
Lijo Lazar
20e3ce630c
drm/amd/pm: Use emit_clk_levels in SMUv13.0.5
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:59 -05:00
Lijo Lazar
0791b47395
drm/amd/pm: Use emit_clk_levels in SMUv13.0.4
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:55 -05:00
Lijo Lazar
9f63bcbace
drm/amd/pm: Use emit_clk_levels in SMUv13.0.0
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:51 -05:00
Lijo Lazar
b824bf6389
drm/amd/pm: Use emit_clk_levels in renoir
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:46 -05:00
Lijo Lazar
46905fb85e
drm/amd/pm: Use emit_clk_levels in vangogh
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:43 -05:00
Lijo Lazar
8c293a93e8
drm/amd/pm: Use emit_clk_levels in cyan skillfish
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:40 -05:00
Likun Gao
fe1c48e9bd
drm/amdgpu: add soc config init for GC v12_1
...
Add function to initialize soc configuration information
for GC 12.1.0 ASICs.
Use it to map IPs and other SOC related information once IP
configuration information is available through discovery.
Signed-off-by: Likun Gao <Likun.Gao@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:37 -05:00
Lijo Lazar
dc17c8af96
drm/amd/pm: Use emit_clk_levels in sienna_cichild
...
Move to emit_clk_levels from print_clk_levels
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:32 -05:00
Lijo Lazar
b34488070a
drm/amd/pm: Remove print_clk_levels from navi10
...
Keep only emit_clk_levels as it covers print_clk_levels functionality
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:29 -05:00
Zhu Lingshan
18a695030b
amdkfd: fence handler evict and restore a kfd process by its context id
...
In fence enable signaling handler, kfd evicts
and restores the corresponding kfd_process,
this commit helps find the kfd_process by
both its mm and context id.
Signed-off-by: Zhu Lingshan <lingshan.zhu@amd.com >
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:25 -05:00
Zhu Lingshan
5701b7a93d
amdkfd: record kfd context id in amdkfd_fence
...
This commit records the context id of the
cooresponding kfd process in amdkfd_fence
Signed-off-by: Zhu Lingshan <lingshan.zhu@amd.com >
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:23 -05:00
Michael Chen
61a3ade2f6
drm/amdgpu/mes12_1: set multi-xcc mes log address
...
Set mes event log address based on xcc id and pipe.
Signed-off-by: Michael Chen <michael.chen@amd.com >
Reviewed-by: Jack Xiao <Jack.Xiao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:20 -05:00
Jack Xiao
75053887d6
drm/amdgpu/mes12_1: add cooperative dispatch support
...
Add initial cooperative dispatch MES support.
a. set shared cmd buffer for the group of cooperative dispatch mes.
b. automatically dispatch add_hw_queue/remove_hw_queue to master mes.
Signed-off-by: Jack Xiao <Jack.Xiao@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2025-12-08 14:13:15 -05:00