linux-stable/drivers/gpu/drm/amd/amdkfd
Felix Kuehling c7bcbfa4f8 drm/amdkfd: Remove limit on number of GPUs
Currently the number of GPUs is limited by aperture placement options
available on GFX7 and GFX8 hardware. This limitation is not necessary.
Scratch and LDS represent per-work-item and per-work-group storage
respectively. Different work-items and work-groups use the same virtual
address to access their own data. Work running on different GPUs is by
definition in different work-groups (different dispatches, in fact).
That means the same virtual addresses can be used for these apertures
on different GPUs.

Add a new AMDKFD_IOC_GET_PROCESS_APERTURES_NEW ioctl that removes the
artificial limitation on the number of GPUs that can be supported. The
new ioctl allows user mode to query the number of GPUs to allocate
enough memory for all GPUs to be reported.

This deprecates AMDKFD_IOC_GET_PROCESS_APERTURES.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
2018-03-15 17:27:46 -04:00
..
cik_event_interrupt.c drm/amdkfd: Use IH context ID for signal lookup 2017-10-27 19:35:28 -04:00
cik_int.h drm/amdkfd: Add SDMA trap src id to the KFD isr wanted list 2017-10-27 19:35:18 -04:00
cik_regs.h drm/amdkfd: Use generic defines in new amd headers 2015-07-20 09:16:49 +03:00
cwsr_trap_handler_gfx8.asm drm/amdkfd: Add trap handler for CWSR 2017-11-14 16:41:18 -05:00
Kconfig drm/amdkfd: Centralize IOMMUv2 code and make it conditional 2017-12-08 19:22:12 -05:00
kfd_chardev.c drm/amdkfd: Remove limit on number of GPUs 2018-03-15 17:27:46 -04:00
kfd_crat.c drm/amdkfd: fix uninitialized variable use 2018-03-15 17:49:40 +01:00
kfd_crat.h drm/amdkfd: Add topology support for dGPUs 2017-12-08 23:08:59 -05:00
kfd_dbgdev.c drm/amdkfd: Hardware DWORD size is 4 bytes 2017-11-06 14:52:27 -05:00
kfd_dbgdev.h drm/amdkfd: avoid CONFIG_ prefix for non-Kconfig symbols 2015-06-06 20:48:34 +03:00
kfd_dbgmgr.c drm/amdkfd: Make sched_policy a per-device setting 2018-01-04 17:17:43 -05:00
kfd_dbgmgr.h drm/amdkfd: Clean up KFD style errors and warnings v2 2017-08-15 23:00:04 -04:00
kfd_debugfs.c drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_device.c drm/amdkfd: Implement KFD process eviction/restore 2018-02-06 20:32:45 -05:00
kfd_device_queue_manager.c drm/amdkfd: Implement KFD process eviction/restore 2018-02-06 20:32:45 -05:00
kfd_device_queue_manager.h drm/amdkfd: Implement KFD process eviction/restore 2018-02-06 20:32:45 -05:00
kfd_device_queue_manager_cik.c drm/amdkfd: Add dGPU support to the device queue manager 2018-01-04 17:17:44 -05:00
kfd_device_queue_manager_vi.c drm/amdkfd: Add dGPU support to the device queue manager 2018-01-04 17:17:44 -05:00
kfd_doorbell.c drm/amdkfd: Fix printing pointer cast 2017-12-04 06:50:17 -05:00
kfd_events.c drm/amdkfd: Centralize IOMMUv2 code and make it conditional 2017-12-08 19:22:12 -05:00
kfd_events.h drm/amdkfd: Simplify event ID and signal slot management 2017-10-27 19:35:27 -04:00
kfd_flat_memory.c drm/amdkfd: Remove limit on number of GPUs 2018-03-15 17:27:46 -04:00
kfd_interrupt.c drm/amdkfd: use a high priority workqueue for IH work 2017-10-27 19:35:34 -04:00
kfd_iommu.c drm/amdkfd: Centralize IOMMUv2 code and make it conditional 2017-12-08 19:22:12 -05:00
kfd_iommu.h drm/amdkfd: Centralize IOMMUv2 code and make it conditional 2017-12-08 19:22:12 -05:00
kfd_kernel_queue.c drm/amdkfd: Add dGPU support to kernel_queue_init 2018-01-04 17:17:46 -05:00
kfd_kernel_queue.h drm/amdkfd: Remove sync_with_hw() from amdkfd 2015-01-15 12:07:48 +02:00
kfd_kernel_queue_cik.c drm/amdkfd: Add initial VI support for KQ 2014-12-02 16:38:57 +02:00
kfd_kernel_queue_vi.c drm/amdkfd: Add initial VI support for KQ 2014-12-02 16:38:57 +02:00
kfd_module.c drm/amdkfd: Implement KFD process eviction/restore 2018-02-06 20:32:45 -05:00
kfd_mqd_manager.c drm/amdkfd: Add dGPU support to the MQD manager 2018-01-04 17:17:45 -05:00
kfd_mqd_manager.h drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_mqd_manager_cik.c drm/amdkfd: Implement KFD process eviction/restore 2018-02-06 20:32:45 -05:00
kfd_mqd_manager_vi.c drm/amdkfd: Implement KFD process eviction/restore 2018-02-06 20:32:45 -05:00
kfd_packet_manager.c drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_pasid.c drm/amdkfd: Support enumerating non-GPU devices 2017-12-08 23:08:53 -05:00
kfd_pm4_headers.h drm/amdkfd: Update PM4 packet headers 2017-08-15 23:00:15 -04:00
kfd_pm4_headers_diq.h drm/amdkfd: Add skeleton H/W debugger module support 2015-06-03 11:32:28 +03:00
kfd_pm4_headers_vi.h drm/amdkfd: Update PM4 packet headers 2017-08-15 23:00:15 -04:00
kfd_pm4_opcodes.h amdkfd: Add kernel queue module 2014-07-17 00:45:35 +03:00
kfd_priv.h drm/amdkfd: Create KFD VMs on demand 2018-03-15 17:27:44 -04:00
kfd_process.c drm/amdkfd: Create KFD VMs on demand 2018-03-15 17:27:44 -04:00
kfd_process_queue_manager.c drm/amdkfd: Make sched_policy a per-device setting 2018-01-04 17:17:43 -05:00
kfd_queue.c drm/amdkfd: Remove BUG_ONs for NULL pointer arguments 2017-08-15 23:00:09 -04:00
kfd_topology.c drm/amdkfd: Populate DRM render device minor 2018-03-15 17:27:45 -04:00
kfd_topology.h drm/amdkfd: Populate DRM render device minor 2018-03-15 17:27:45 -04:00
Makefile drm/amdkfd: Group up CRAT related functions 2017-12-08 23:08:49 -05:00