Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2befa60e authored by Christian König's avatar Christian König Committed by Alex Deucher
Browse files

drm/amdgpu: fix initializing the VM BO shadow



We need to clear the shadows as well.

Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Acked-by: default avatarEdward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 2a82ec21
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -1435,6 +1435,15 @@ int amdgpu_vm_bo_map(struct amdgpu_device *adev,
			goto error_free;
		}

		if (pt->shadow) {
			r = amdgpu_vm_clear_bo(adev, vm, pt->shadow);
			if (r) {
				amdgpu_bo_unref(&pt->shadow);
				amdgpu_bo_unref(&pt);
				goto error_free;
			}
		}

		entry->robj = pt;
		entry->priority = 0;
		entry->tv.bo = &entry->robj->tbo;
@@ -1632,6 +1641,12 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm)
	if (r)
		goto error_unreserve;

	if (vm->page_directory->shadow) {
		r = amdgpu_vm_clear_bo(adev, vm, vm->page_directory->shadow);
		if (r)
			goto error_unreserve;
	}

	vm->last_eviction_counter = atomic64_read(&adev->num_evictions);
	amdgpu_bo_unreserve(vm->page_directory);