Arunpravin Paneer Selvam
75c8b703e5
drm/amdgpu: Add a lock when accessing the buddy trim function
When running YouTube videos and Steam games simultaneously,
the tester found a system hang / race condition issue with
the multi-display configuration setting. Adding a lock to
the buddy allocator's trim function would be the solution.
<log snip>
[ 7197.250436] general protection fault, probably for non-canonical address 0xdead000000000108
[ 7197.250447] RIP: 0010:__alloc_range+0x8b/0x340 [amddrm_buddy]
[ 7197.250470] Call Trace:
[ 7197.250472] <TASK>
[ 7197.250475] ? show_regs+0x6d/0x80
[ 7197.250481] ? die_addr+0x37/0xa0
[ 7197.250483] ? exc_general_protection+0x1db/0x480
[ 7197.250488] ? drm_suballoc_new+0x13c/0x93d [drm_suballoc_helper]
[ 7197.250493] ? asm_exc_general_protection+0x27/0x30
[ 7197.250498] ? __alloc_range+0x8b/0x340 [amddrm_buddy]
[ 7197.250501] ? __alloc_range+0x109/0x340 [amddrm_buddy]
[ 7197.250506] amddrm_buddy_block_trim+0x1b5/0x260 [amddrm_buddy]
[ 7197.250511] amdgpu_vram_mgr_new+0x4f5/0x590 [amdgpu]
[ 7197.250682] amdttm_resource_alloc+0x46/0xb0 [amdttm]
[ 7197.250689] ttm_bo_alloc_resource+0xe4/0x370 [amdttm]
[ 7197.250696] amdttm_bo_validate+0x9d/0x180 [amdttm]
[ 7197.250701] amdgpu_bo_pin+0x15a/0x2f0 [amdgpu]
[ 7197.250831] amdgpu_dm_plane_helper_prepare_fb+0xb2/0x360 [amdgpu]
[ 7197.251025] ? try_wait_for_completion+0x59/0x70
[ 7197.251030] drm_atomic_helper_prepare_planes.part.0+0x2f/0x1e0
[ 7197.251035] drm_atomic_helper_prepare_planes+0x5d/0x70
[ 7197.251037] drm_atomic_helper_commit+0x84/0x160
[ 7197.251040] drm_atomic_nonblocking_commit+0x59/0x70
[ 7197.251043] drm_mode_atomic_ioctl+0x720/0x850
[ 7197.251047] ? __pfx_drm_mode_atomic_ioctl+0x10/0x10
[ 7197.251049] drm_ioctl_kernel+0xb9/0x120
[ 7197.251053] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7197.251056] drm_ioctl+0x2d4/0x550
[ 7197.251058] ? __pfx_drm_mode_atomic_ioctl+0x10/0x10
[ 7197.251063] amdgpu_drm_ioctl+0x4e/0x90 [amdgpu]
[ 7197.251186] __x64_sys_ioctl+0xa0/0xf0
[ 7197.251190] x64_sys_call+0x143b/0x25c0
[ 7197.251193] do_syscall_64+0x7f/0x180
[ 7197.251197] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7197.251199] ? amdgpu_display_user_framebuffer_create+0x215/0x320 [amdgpu]
[ 7197.251329] ? drm_internal_framebuffer_create+0xb7/0x1a0
[ 7197.251332] ? srso_alias_return_thunk+0x5/0xfbef5
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Fixes: 4a5ad08f53 ("drm/amdgpu: Add address alignment support to DCC buffers")
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 3318ba94e5)
Cc: stable@vger.kernel.org
2025-01-06 15:20:13 -05:00
..
2024-12-20 07:13:45 +10:00
2024-12-18 20:23:59 +01:00
2024-11-12 16:41:45 +00:00
2024-11-29 11:58:27 -08:00
2024-12-09 09:06:58 +09:00
2024-12-01 15:12:43 -08:00
2024-12-20 07:13:45 +10:00
2024-12-08 11:38:56 -08:00
2024-12-01 15:12:43 -08:00
2024-12-28 11:02:35 -08:00
2024-12-12 09:25:28 -05:00
2024-11-29 11:58:27 -08:00
2024-12-01 15:12:43 -08:00
2024-12-03 08:22:25 -08:00
2024-12-01 15:12:43 -08:00
2024-12-10 18:21:40 -08:00
2024-12-09 18:42:42 +00:00
2024-12-02 11:34:44 -08:00
2024-12-10 10:17:43 -06:00
2024-12-01 15:12:43 -08:00
2024-12-10 13:40:25 +08:00
2024-12-10 14:50:34 -07:00
2024-12-02 11:34:44 -08:00
2024-12-01 15:12:43 -08:00
2024-12-26 10:43:25 -08:00
2024-12-20 07:13:45 +10:00
2024-12-11 21:47:33 +01:00
2024-12-01 15:12:43 -08:00
2024-11-25 17:12:54 -08:00
2024-12-21 15:45:06 -08:00
2024-12-02 11:34:44 -08:00
2024-12-01 15:12:43 -08:00
2024-12-10 11:38:57 +01:00
2025-01-06 15:20:13 -05:00
2024-12-05 10:06:47 -08:00
2024-12-01 15:12:43 -08:00
2024-12-01 15:12:43 -08:00
2024-12-09 18:44:15 +00:00
2024-12-16 15:58:25 -08:00
2024-12-01 15:12:43 -08:00
2024-12-01 15:12:43 -08:00
2024-12-26 01:54:47 +01:00
2024-12-01 15:12:43 -08:00
2024-11-11 15:48:50 +01:00
2024-12-08 11:26:13 -08:00
2024-12-02 11:34:44 -08:00
2024-11-25 10:31:39 -08:00
2024-12-13 15:54:27 +01:00
2024-12-13 18:15:29 +01:00
2024-11-09 09:14:12 -08:00
2024-12-02 11:34:44 -08:00
2024-12-20 07:13:45 +10:00
2024-11-30 09:03:16 -08:00
2024-12-02 11:34:44 -08:00
2024-12-10 09:15:33 -07:00
2024-12-21 10:56:34 -08:00
2024-12-01 15:12:43 -08:00
2024-12-01 15:12:43 -08:00
2024-11-20 21:38:24 -05:00
2024-12-02 11:34:44 -08:00
2024-12-02 11:34:44 -08:00
2024-12-10 16:02:34 +01:00
2024-12-05 11:15:00 +01:00
2024-12-19 09:19:11 -08:00
2024-12-02 11:34:44 -08:00
2024-12-18 07:22:30 -07:00
2024-12-01 15:12:43 -08:00
2024-12-22 08:40:23 -08:00
2024-11-27 14:40:33 -08:00
2024-12-01 15:12:43 -08:00
2024-12-01 15:12:43 -08:00
2024-12-29 10:03:01 -08:00
2024-12-01 15:12:43 -08:00
2024-12-02 11:34:44 -08:00
2024-12-02 11:34:44 -08:00
2024-12-24 20:38:53 +05:30
2024-12-02 11:34:44 -08:00
2024-12-26 10:35:13 -08:00
2024-12-06 11:24:00 -08:00
2024-12-19 00:35:30 +01:00
2024-12-02 11:34:44 -08:00
2024-12-01 15:12:43 -08:00
2024-11-15 00:32:29 +11:00
2024-12-06 17:38:11 -08:00
2024-12-19 08:50:05 -08:00
2024-12-19 11:15:24 +00:00
2024-11-15 20:36:27 -08:00
2024-12-02 11:34:44 -08:00
2024-12-01 15:12:43 -08:00
2024-12-02 11:34:44 -08:00
2024-11-29 11:43:29 -08:00
2024-12-01 15:12:43 -08:00
2024-12-04 13:22:59 -05:00
2024-11-30 14:45:29 -08:00
2024-12-01 15:12:43 -08:00
2024-11-21 08:28:08 -08:00
2024-12-02 11:34:44 -08:00
2024-12-18 16:02:08 +00:00
2024-12-01 15:12:43 -08:00
2024-12-21 11:30:13 -08:00
2024-12-02 12:36:18 -05:00
2024-11-12 15:48:08 +01:00
2024-12-01 15:12:43 -08:00
2024-12-18 14:51:31 +01:00
2024-12-16 09:59:38 +02:00
2024-12-14 09:31:19 -08:00
2024-12-09 21:49:08 -05:00
2024-12-01 15:12:43 -08:00
2024-12-17 11:59:09 +01:00
2024-11-12 18:05:05 -05:00
2024-12-11 13:48:25 -08:00
2024-11-11 10:56:27 -08:00
2024-12-20 07:13:45 +10:00
2024-12-29 10:18:44 +01:00
2024-12-10 11:22:21 +01:00
2024-12-01 15:12:43 -08:00
2024-12-05 10:03:43 -08:00
2024-12-02 11:34:44 -08:00