Commit 31f7efcd authored by Shashank Sharma's avatar Shashank Sharma Committed by Alex Deucher
Browse files

drm/amdgpu: enable eviction fence



This patch enables attachment and detachment of eviction fences.
This is just a fork of eviction fence enabling code from the first
patch of the series so that the CI testing can happen on fully
fledged code.

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian Koenig <christian.koenig@amd.com>
Reviewed-by: default avatarChristian Koenig <christian.koenig@amd.com>
Signed-off-by: default avatarShashank Sharma <shashank.sharma@amd.com>
Signed-off-by: default avatarArvind Yadav <arvind.yadav@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent a242a3e4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -177,6 +177,8 @@ void amdgpu_eviction_fence_destroy(struct amdgpu_eviction_fence_mgr *evf_mgr)
	if (!ev_fence)
		return;

	dma_fence_wait(&ev_fence->base, false);

	/* Last unref of ev_fence */
	dma_fence_put(&evf_mgr->ev_fence->base);
}
+10 −0
Original line number Diff line number Diff line
@@ -294,6 +294,13 @@ static int amdgpu_gem_object_open(struct drm_gem_object *obj,
	else
		++bo_va->ref_count;

	/* attach gfx eviction fence */
	r = amdgpu_eviction_fence_attach(&fpriv->evf_mgr, abo);
	if (r) {
		DRM_DEBUG_DRIVER("Failed to attach eviction fence to BO\n");
		return r;
	}

	amdgpu_bo_unreserve(abo);

	/* Validate and add eviction fence to DMABuf imports with dynamic
@@ -344,6 +351,9 @@ static void amdgpu_gem_object_close(struct drm_gem_object *obj,
	struct drm_exec exec;
	long r;

	if (!amdgpu_vm_is_bo_always_valid(vm, bo))
		amdgpu_eviction_fence_detach(&fpriv->evf_mgr, bo);

	drm_exec_init(&exec, DRM_EXEC_IGNORE_DUPLICATES, 0);
	drm_exec_until_all_locked(&exec) {
		r = drm_exec_prepare_obj(&exec, &bo->tbo.base, 1);