Allocate and map doorbells in SVM for discrete GPUs

Allocate doorbells for dGPUs in the SVM aperture and map them for
GPU access. This is necessary to allow GPU-initiated submissions to
user mode queues.

Depends on new doorbell BO allocation flag in KFD.

Change-Id: I0737bef4a4764bb4a66c43846707ead2108f6601


[ROCm/ROCR-Runtime commit: 2e0a6eb371]
This commit is contained in:
Felix Kuehling
2016-09-16 15:56:57 -04:00
parent 6b33ada07b
commit fee7a91fb9
4 changed files with 143 additions and 21 deletions
+1
View File
@@ -52,6 +52,7 @@ void fmm_destroy_process_apertures(void);
*/
void* fmm_allocate_scratch(uint32_t gpu_id, uint64_t MemorySizeInBytes);
void* fmm_allocate_device(uint32_t gpu_id, uint64_t MemorySizeInBytes, HsaMemFlags flags);
void* fmm_allocate_doorbell(uint32_t gpu_id, uint64_t MemorySizeInBytes, uint64_t doorbell_offset);
void* fmm_allocate_host(uint32_t node_id, uint64_t MemorySizeInBytes,
HsaMemFlags flags);
void* fmm_open_graphic_handle(uint32_t gpu_id,