mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 18:09:56 +00:00
drm/amdkfd: fix vram allocation failure for a special case
[ Upstream commit 93aa919ca0 ]
When it only allocates vram without va, which is 0, and a
SVM range allocated stays in this range, the vram allocation
returns failure. It should be skipped for this case from
SVM usage check.
Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Reviewed-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
d367caca4a
commit
01ffa1ba69
@@ -1069,7 +1069,12 @@ static int kfd_ioctl_alloc_memory_of_gpu(struct file *filep,
|
||||
svm_range_list_lock_and_flush_work(&p->svms, current->mm);
|
||||
mutex_lock(&p->svms.lock);
|
||||
mmap_write_unlock(current->mm);
|
||||
if (interval_tree_iter_first(&p->svms.objects,
|
||||
|
||||
/* Skip a special case that allocates VRAM without VA,
|
||||
* VA will be invalid of 0.
|
||||
*/
|
||||
if (!(!args->va_addr && (flags & KFD_IOC_ALLOC_MEM_FLAGS_VRAM)) &&
|
||||
interval_tree_iter_first(&p->svms.objects,
|
||||
args->va_addr >> PAGE_SHIFT,
|
||||
(args->va_addr + args->size - 1) >> PAGE_SHIFT)) {
|
||||
pr_err("Address: 0x%llx already allocated by SVM\n",
|
||||
|
||||
Reference in New Issue
Block a user