linux/drivers/gpu/drm/amd/amdkfd
Philip Yang ebab8c3eb6 drm/amdkfd: svm range always mapped flag not working on APU
On gfx943 APU there is no VRAM and page migration, queue CWSR area, svm
range with always mapped flag, is not mapped to GPU correctly. This
works fine if retry fault on CWSR area can be recovered, but could cause
deadlock if there is another retry fault recover waiting for CWSR to
finish.

Fix this by mapping svm range with always mapped flag to GPU with ACCESS
attribute if XNACK ON.

There is side effect, because all GPUs have ACCESS attribute by default
on new svm range with XNACK on, the CWSR area will be mapped to all GPUs
after this change. This side effect will be fixed with Thunk change to
set CWSR svm range with ACCESS_IN_PLACE attribute on the GPU that user
queue is created.

Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2023-12-19 15:19:49 -05:00
..
Kconfig drm/amdkfd: drop IOMMUv2 support 2023-08-11 14:47:25 -04:00
Makefile drm/amdkfd: drop IOMMUv2 support 2023-08-11 14:47:25 -04:00
cik_event_interrupt.c drm/amdkfd: add send exception operation 2023-06-09 12:36:01 -04:00
cik_int.h
cik_regs.h
cwsr_trap_handler.h drm/amdkfd: Sign-extend TMA address in trap handler 2023-08-07 17:14:06 -04:00
cwsr_trap_handler_gfx8.asm
cwsr_trap_handler_gfx9.asm drm/amdkfd: Sign-extend TMA address in trap handler 2023-08-07 17:14:06 -04:00
cwsr_trap_handler_gfx10.asm drm/amdkfd: Sign-extend TMA address in trap handler 2023-08-07 17:14:06 -04:00
kfd_chardev.c drm/amdkfd: Move dma unmapping after TLB flush 2023-09-26 16:55:10 -04:00
kfd_crat.c drm/amdkfd: Populate cache info for GFX 9.4.3 2023-11-03 11:59:51 -04:00
kfd_crat.h drm/amdkfd: Update cache info reporting for GFX v9.4.3 2023-09-11 18:17:20 -04:00
kfd_debug.c drm/amdkfd: fix and enable ttmp setup for gfx11 2023-07-27 14:59:29 -04:00
kfd_debug.h drm/amdkfd: fix and enable ttmp setup for gfx11 2023-07-27 14:59:29 -04:00
kfd_debugfs.c
kfd_device.c drm/amdgpu: Use function for IP version check 2023-09-20 12:23:28 -04:00
kfd_device_queue_manager.c drm/amdkfd: get doorbell's absolute offset based on the db_size 2023-10-09 17:02:34 -04:00
kfd_device_queue_manager.h drm/amdkfd: rename device_queue_manager_init_v10_navi10() 2023-08-11 14:47:39 -04:00
kfd_device_queue_manager_cik.c drm/amdkfd: drop IOMMUv2 support 2023-08-11 14:47:25 -04:00
kfd_device_queue_manager_v9.c drm/amdkfd: drop IOMMUv2 support 2023-08-11 14:47:25 -04:00
kfd_device_queue_manager_v10.c drm/amdkfd: rename device_queue_manager_init_v10_navi10() 2023-08-11 14:47:39 -04:00
kfd_device_queue_manager_v11.c
kfd_device_queue_manager_vi.c drm/amdkfd: drop IOMMUv2 support 2023-08-11 14:47:25 -04:00
kfd_doorbell.c drm/amdkfd: get doorbell's absolute offset based on the db_size 2023-10-09 17:02:34 -04:00
kfd_events.c drm/amdkfd: drop IOMMUv2 support 2023-08-11 14:47:25 -04:00
kfd_events.h drm/amdkfd: add event_age tracking when receiving interrupt 2023-06-15 11:37:55 -04:00
kfd_flat_memory.c drm/amdkfd: drop IOMMUv2 support 2023-08-11 14:47:25 -04:00
kfd_int_process_v9.c drm/amdkfd: use mask to get v9 interrupt sq data bits correctly 2023-08-31 18:10:28 -04:00
kfd_int_process_v10.c drm/amdkfd: ratelimited SQ interrupt messages 2023-08-30 15:51:16 -04:00
kfd_int_process_v11.c drm/amdkfd: ratelimited SQ interrupt messages 2023-08-30 15:51:16 -04:00
kfd_interrupt.c
kfd_kernel_queue.c
kfd_kernel_queue.h
kfd_migrate.c Revert "drm/amdkfd: Use partial migrations in GPU page faults" 2023-10-26 18:41:23 -04:00
kfd_migrate.h Revert "drm/amdkfd: Use partial migrations in GPU page faults" 2023-10-26 18:41:23 -04:00
kfd_module.c
kfd_mqd_manager.c drm/amdkfd: drop struct kfd_cu_info 2023-10-03 15:41:13 -04:00
kfd_mqd_manager.h drm/amdkfd: Update CU masking for GFX 9.4.3 2023-09-11 18:17:27 -04:00
kfd_mqd_manager_cik.c drm/amdkfd: Update CU masking for GFX 9.4.3 2023-09-11 18:17:27 -04:00
kfd_mqd_manager_v9.c drm/amdkfd: Update CU masking for GFX 9.4.3 2023-09-11 18:17:27 -04:00
kfd_mqd_manager_v10.c drm/amdkfd: Update CU masking for GFX 9.4.3 2023-09-11 18:17:27 -04:00
kfd_mqd_manager_v11.c drm/amdkfd: Checkpoint and restore queues on GFX11 2023-09-11 18:22:38 -04:00
kfd_mqd_manager_vi.c drm/amdkfd: Update CU masking for GFX 9.4.3 2023-09-11 18:17:27 -04:00
kfd_packet_manager.c drm/amdgpu: add configurable grace period for unmap queues 2023-06-09 12:35:31 -04:00
kfd_packet_manager_v9.c drm/amdgpu: Use function for IP version check 2023-09-20 12:23:28 -04:00
kfd_packet_manager_vi.c drm/amdgpu: add configurable grace period for unmap queues 2023-06-09 12:35:31 -04:00
kfd_pasid.c
kfd_pm4_headers.h
kfd_pm4_headers_ai.h drm/amdkfd: prepare map process for single process debug devices 2023-06-09 12:35:36 -04:00
kfd_pm4_headers_aldebaran.h
kfd_pm4_headers_vi.h
kfd_pm4_opcodes.h
kfd_priv.h drm/amdkfd: Use common function for IP version check 2023-11-29 18:07:05 -05:00
kfd_process.c drm/amd: Disable XNACK on SRIOV environment 2023-11-07 11:15:37 -05:00
kfd_process_queue_manager.c drm/amdkfd: Free gang_ctx_bo and wptr_bo in pqm_uninit 2023-11-29 18:12:29 -05:00
kfd_queue.c
kfd_smi_events.c
kfd_smi_events.h
kfd_svm.c drm/amdkfd: svm range always mapped flag not working on APU 2023-12-19 15:19:49 -05:00
kfd_svm.h Revert "drm/amdkfd: Use partial migrations in GPU page faults" 2023-10-26 18:41:23 -04:00
kfd_topology.c drm next and fixes for 6.7-rc1 2023-11-07 17:10:02 -08:00
kfd_topology.h drm/amdkfd: Update cache info reporting for GFX v9.4.3 2023-09-11 18:17:20 -04:00
soc15_int.h drm/amdkfd: Update interrupt handling for GFX 9.4.3 2023-06-30 13:11:35 -04:00