1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/amd/amdkfd
Graham Sider e77a541f5d drm/amdkfd: Enable GFX11 usermode queue oversubscription
Starting with GFX11, MES requires wptr BOs to be GTT allocated/mapped to
GART for usermode queues in order to support oversubscription. In the
case that work is submitted to an unmapped queue, MES must have a GART
wptr address to determine whether the queue should be mapped.

This change is accompanied with changes in MES and is applicable for
MES_API_VERSION >= 2.

v3:
- Use amdgpu_vm_bo_lookup_mapping for wptr_bo mapping lookup
- Move wptr_bo refcount increment to amdgpu_amdkfd_map_gtt_bo_to_gart
- Remove list_del_init from amdgpu_amdkfd_map_gtt_bo_to_gart
- Cleanup/fix create_queue wptr_bo error handling
v4:
- Add MES version shift/mask defines to amdgpu_mes.h
- Change version check from MES_VERSION to MES_API_VERSION
- Add check in kfd_ioctl_create_queue before wptr bo pin/GART map to
ensure bo is a single page.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Philip Yang <Philip.Yang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2022-06-23 17:22:12 -04:00
..
cik_event_interrupt.c drm/amdkfd: rename kfd_process_vm_fault to kfd_dqm_evict_pasid 2022-02-09 14:14:53 -05:00
cik_int.h drm/amdkfd: Clean up reference of radeon 2018-07-11 22:33:08 -04:00
cik_regs.h drm/amdkfd: Delete a duplicate statement in set_pasid_vmid_mapping() 2018-11-05 14:21:13 -05:00
cwsr_trap_handler.h drm/amdkfd: Add gfx11 trap handler 2022-05-26 14:56:33 -04:00
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: port cwsr trap handler from dkms branch 2022-05-26 14:56:32 -04:00
cwsr_trap_handler_gfx10.asm drm/amdkfd: Add gfx11 trap handler 2022-05-26 14:56:33 -04:00
Kconfig drm/amdkfd: Define config HSA_AMD_P2P to support peer-to-peer 2022-06-08 11:40:12 -04:00
kfd_chardev.c drm/amdkfd: Enable GFX11 usermode queue oversubscription 2022-06-23 17:22:12 -04:00
kfd_crat.c drm/amdkfd: Remove field io_link_count from struct kfd_topology_device 2022-06-10 15:24:26 -04:00
kfd_crat.h drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_debugfs.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_device.c drm/amdkfd: correct sdma queue number of sdma 6.0.1 2022-06-21 18:17:24 -04:00
kfd_device_queue_manager.c drm/amdkfd: Enable GFX11 usermode queue oversubscription 2022-06-23 17:22:12 -04:00
kfd_device_queue_manager.h drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00
kfd_device_queue_manager_cik.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_device_queue_manager_v9.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_device_queue_manager_v10.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_device_queue_manager_v11.c drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00
kfd_device_queue_manager_vi.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_doorbell.c drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00
kfd_events.c drm/amdkfd: Document and fix GTT BO kmap API 2022-06-08 11:40:59 -04:00
kfd_events.h drm/amdkfd: Asynchronously free events 2022-04-12 14:20:13 -04:00
kfd_flat_memory.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_int_process_v9.c drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00
kfd_int_process_v11.c drm/amdkfd: Update event_interrupt_isr_v11 return 2022-05-10 17:53:11 -04:00
kfd_interrupt.c drm/amdkfd: Improve concurrency of event handling 2022-04-07 16:34:24 -04:00
kfd_iommu.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_iommu.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_kernel_queue.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_kernel_queue.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_migrate.c drm/amdkfd: Fix partial migration bugs 2022-06-03 16:43:22 -04:00
kfd_migrate.h drm/amdkfd: fix svm_migrate_fini warning 2021-09-23 16:34:57 -04:00
kfd_module.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_mqd_manager.c drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00
kfd_mqd_manager.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_mqd_manager_cik.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_mqd_manager_v9.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_mqd_manager_v10.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_mqd_manager_v11.c drm/amdkfd: Enable GFX11 usermode queue oversubscription 2022-06-23 17:22:12 -04:00
kfd_mqd_manager_vi.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_packet_manager.c drm/amdkfd: remove unneeded unmap single queue option 2022-02-14 15:08:41 -05:00
kfd_packet_manager_v9.c drm/amdkfd: Use proper enum in pm_unmap_queues_v9() 2022-02-17 15:59:06 -05:00
kfd_packet_manager_vi.c drm/amdkfd: remove unneeded unmap single queue option 2022-02-14 15:08:41 -05:00
kfd_pasid.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_pm4_headers.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_pm4_headers_ai.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_pm4_headers_aldebaran.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_pm4_headers_diq.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_pm4_headers_vi.h drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_pm4_opcodes.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_priv.h drm/amdkfd: Enable GFX11 usermode queue oversubscription 2022-06-23 17:22:12 -04:00
kfd_process.c drm/amdkfd: Document and fix GTT BO kmap API 2022-06-08 11:40:59 -04:00
kfd_process_queue_manager.c drm/amdkfd: Enable GFX11 usermode queue oversubscription 2022-06-23 17:22:12 -04:00
kfd_queue.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_smi_events.c drm/amdkfd: Create file descriptor after client is added to smi_clients list 2022-04-06 12:02:57 -04:00
kfd_smi_events.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_svm.c drm/amdkfd: Fix partial migration bugs 2022-06-03 16:43:22 -04:00
kfd_svm.h drm/amdkfd: Add SVM range mapped_to_gpu flag 2022-04-26 11:42:44 -04:00
kfd_topology.c drm/amdkfd: fix warning when CONFIG_HSA_AMD_P2P is not set 2022-06-14 21:38:41 -04:00
kfd_topology.h drm/amdkfd: Remove field io_link_count from struct kfd_topology_device 2022-06-10 15:24:26 -04:00
Makefile drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00
soc15_int.h drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00