mirror_ubuntu-kernels/drivers/gpu/drm/amd/amdkfd
Felix Kuehling 5a75ea56e3 drm/amdkfd: Disable SVM per GPU, not per process
When some GPUs don't support SVM, don't disabe it for the entire process.
That would be inconsistent with the information the process got from the
topology, which indicates SVM support per GPU.

Instead disable SVM support only for the unsupported GPUs. This is done
by checking any per-device attributes against the bitmap of supported
GPUs. Also use the supported GPU bitmap to initialize access bitmaps for
new SVM address ranges.

Don't handle recoverable page faults from unsupported GPUs. (I don't
think there will be unsupported GPUs that can generate recoverable page
faults. But better safe than sorry.)

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Philip Yang <philip.yang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-06-15 17:25:41 -04:00
..
cik_event_interrupt.c drm/amdkfd: Add kernel parameter to stop queue eviction on vm fault 2021-03-23 22:59:22 -04:00
cik_int.h
cik_regs.h
cwsr_trap_handler_gfx8.asm drm/amdkfd: Add aldebaran trap handler support 2021-03-10 00:02:24 -05:00
cwsr_trap_handler_gfx9.asm drm/amdkfd: Fix saving the ACC vgprs for Aldebaran 2021-03-23 22:56:55 -04:00
cwsr_trap_handler_gfx10.asm drm/amdkfd: Fix spurious debug exception on gfx10 2020-08-10 17:26:51 -04:00
cwsr_trap_handler.h drm/amdkfd: Fix saving the ACC vgprs for Aldebaran 2021-03-23 22:56:55 -04:00
Kconfig drm/amdkfd: Add CONFIG_HSA_AMD_SVM 2021-04-20 21:50:35 -04:00
kfd_chardev.c drm/amdkfd: Disable SVM per GPU, not per process 2021-06-15 17:25:41 -04:00
kfd_crat.c drm/amdkfd: add yellow carp KFD support 2021-06-04 16:03:09 -04:00
kfd_crat.h
kfd_dbgdev.c drm/amdkfd: dqm fence memory corruption 2021-04-09 16:47:06 -04:00
kfd_dbgdev.h
kfd_dbgmgr.c
kfd_dbgmgr.h drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
kfd_debugfs.c drm/amdkfd: Fix cat debugfs hang_hws file causes system crash bug 2021-04-09 16:42:11 -04:00
kfd_device_queue_manager_cik.c
kfd_device_queue_manager_v9.c drm/amdkfd: add xnack enabled flag to kfd_process 2021-04-20 21:47:41 -04:00
kfd_device_queue_manager_v10.c drm/amdkfd: Use same SQ prefetch setting as amdgpu 2020-10-21 23:06:07 -04:00
kfd_device_queue_manager_vi.c
kfd_device_queue_manager.c drm/amdkfd: fix circular locking on get_wave_state 2021-06-15 17:25:40 -04:00
kfd_device_queue_manager.h drm/amdkfd: dqm fence memory corruption 2021-04-09 16:47:06 -04:00
kfd_device.c drm/amdkfd: add yellow carp KFD support 2021-06-04 16:03:09 -04:00
kfd_doorbell.c drm/amdkfd: Move process doorbell allocation into kfd device 2020-09-22 12:25:02 -04:00
kfd_events.c drm/amdkfd: fix a resource leakage issue 2021-05-19 22:44:12 -04:00
kfd_events.h drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
kfd_flat_memory.c drm/amdkfd: Disable SVM per GPU, not per process 2021-06-15 17:25:41 -04:00
kfd_int_process_v9.c drm/amdkfd: add sdma poison consumption handling 2021-06-07 14:57:24 -04:00
kfd_interrupt.c
kfd_iommu.c IOMMU Updates for Linux v5.13 2021-05-01 09:33:00 -07:00
kfd_iommu.h drm/amdkfd: fix build error with AMD_IOMMU_V2=m 2021-03-23 23:28:11 -04:00
kfd_kernel_queue.c drm/amdkfd: Enable over-subscription with >1 GWS queue 2020-04-28 16:20:30 -04:00
kfd_kernel_queue.h
kfd_migrate.c drm/amdkfd: use resource cursor in svm_migrate_copy_to_vram v2 2021-06-04 15:16:46 +02:00
kfd_migrate.h drm/amdkfd: Add CONFIG_HSA_AMD_SVM 2021-04-20 21:50:35 -04:00
kfd_module.c drm/amdgpu: Fix handling of KFD initialization failures 2020-09-22 12:24:11 -04:00
kfd_mqd_manager_cik.c drm/amdkfd: Check HIQ's MQD for queue preemption status 2021-03-23 22:59:25 -04:00
kfd_mqd_manager_v9.c drm/amdkfd: Check HIQ's MQD for queue preemption status 2021-03-23 22:59:25 -04:00
kfd_mqd_manager_v10.c drm/amdkfd: Check HIQ's MQD for queue preemption status 2021-03-23 22:59:25 -04:00
kfd_mqd_manager_vi.c drm/amdkfd: Check HIQ's MQD for queue preemption status 2021-03-23 22:59:25 -04:00
kfd_mqd_manager.c
kfd_mqd_manager.h drm/amdkfd: Check HIQ's MQD for queue preemption status 2021-03-23 22:59:25 -04:00
kfd_packet_manager_v9.c drm/amdkfd: add per-vmid-debug map_process_support 2021-04-23 17:16:05 -04:00
kfd_packet_manager_vi.c drm/amdkfd: dqm fence memory corruption 2021-04-09 16:47:06 -04:00
kfd_packet_manager.c drm/amdkfd: add yellow carp KFD support 2021-06-04 16:03:09 -04:00
kfd_pasid.c drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
kfd_pm4_headers_ai.h
kfd_pm4_headers_aldebaran.h drm/amdkfd: add per-vmid-debug map_process_support 2021-04-23 17:16:05 -04:00
kfd_pm4_headers_diq.h
kfd_pm4_headers_vi.h
kfd_pm4_headers.h
kfd_pm4_opcodes.h
kfd_priv.h drm/amdkfd: Disable SVM per GPU, not per process 2021-06-15 17:25:41 -04:00
kfd_process_queue_manager.c drm/amdgpu: replace per_device_list by array 2021-04-09 16:41:52 -04:00
kfd_process.c drm/amdkfd: Disable SVM per GPU, not per process 2021-06-15 17:25:41 -04:00
kfd_queue.c
kfd_smi_events.c drm/amd: use kmalloc_array over kmalloc with multiply 2021-04-09 16:50:26 -04:00
kfd_smi_events.h drm/amdkfd: Add GPU reset SMI event 2020-08-31 14:40:03 -04:00
kfd_svm.c drm/amdkfd: Disable SVM per GPU, not per process 2021-06-15 17:25:41 -04:00
kfd_svm.h drm/amdkfd: Disable SVM per GPU, not per process 2021-06-15 17:25:41 -04:00
kfd_topology.c drm/amdkfd: Disable SVM per GPU, not per process 2021-06-15 17:25:41 -04:00
kfd_topology.h drm/amdkfd: move CoherentHostAccess prop to HSA_CAPABILITY 2021-06-11 16:05:27 -04:00
Makefile drm/amdkfd: Add CONFIG_HSA_AMD_SVM 2021-04-20 21:50:35 -04:00
soc15_int.h drm/amdkfd: add sdma poison consumption handling 2021-06-07 14:57:24 -04:00