drm/amdkfd: SVM map to gpus check vma boundary
SVM range may includes multiple VMAs with different vm_flags, if prange page index is the last page of the VMA offset + npages, update GPU mapping to create GPU page table with same VMA access permission. 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>
This commit is contained in:
parent
6de0653f77
commit
7beb26dced
@ -1178,7 +1178,11 @@ svm_range_map_to_gpu(struct amdgpu_device *adev, struct amdgpu_vm *vm,
|
||||
for (i = offset; i < offset + npages; i++) {
|
||||
last_domain = dma_addr[i] & SVM_RANGE_VRAM_DOMAIN;
|
||||
dma_addr[i] &= ~SVM_RANGE_VRAM_DOMAIN;
|
||||
if ((prange->start + i) < prange->last &&
|
||||
|
||||
/* Collect all pages in the same address range and memory domain
|
||||
* that can be mapped with a single call to update mapping.
|
||||
*/
|
||||
if (i < offset + npages - 1 &&
|
||||
last_domain == (dma_addr[i + 1] & SVM_RANGE_VRAM_DOMAIN))
|
||||
continue;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user