Commit 570b2952 authored by Christian König's avatar Christian König Committed by Alex Deucher
Browse files

drm/amdgpu: fix number of fence calculations



Since adding gang submit we need to take the gang size into account
while reserving fences.

Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Fixes: 4624459c ("drm/amdgpu: add gang submit frontend v6")
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent af22d6a8
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -136,9 +136,6 @@ static int amdgpu_cs_p1_user_fence(struct amdgpu_cs_parser *p,
	bo = amdgpu_bo_ref(gem_to_amdgpu_bo(gobj));
	p->uf_entry.priority = 0;
	p->uf_entry.tv.bo = &bo->tbo;
	/* One for TTM and two for the CS job */
	p->uf_entry.tv.num_shared = 3;

	drm_gem_object_put(gobj);

	size = amdgpu_bo_size(bo);
@@ -912,15 +909,19 @@ static int amdgpu_cs_parser_bos(struct amdgpu_cs_parser *p,

	mutex_lock(&p->bo_list->bo_list_mutex);

	/* One for TTM and one for the CS job */
	/* One for TTM and one for each CS job */
	amdgpu_bo_list_for_each_entry(e, p->bo_list)
		e->tv.num_shared = 2;
		e->tv.num_shared = 1 + p->gang_size;
	p->uf_entry.tv.num_shared = 1 + p->gang_size;

	amdgpu_bo_list_get_list(p->bo_list, &p->validated);

	INIT_LIST_HEAD(&duplicates);
	amdgpu_vm_get_pd_bo(&fpriv->vm, &p->validated, &p->vm_pd);

	/* Two for VM updates, one for TTM and one for each CS job */
	p->vm_pd.tv.num_shared = 3 + p->gang_size;

	if (p->uf_entry.tv.bo && !ttm_to_amdgpu_bo(p->uf_entry.tv.bo)->parent)
		list_add(&p->uf_entry.tv.head, &p->validated);