Commit c00d8b79 authored by YuanShang's avatar YuanShang Committed by Alex Deucher
Browse files

drm/amdgpu: Retain job->vm in amdgpu_job_prepare_job



The field job->vm is used in function amdgpu_job_run to get the page
table re-generation counter and decide whether the job should be skipped.

Specifically, function amdgpu_vm_generation checks if the VM is valid for this job to use.
For instance, if a gfx job depends on a cancelled sdma job from entity vm->delayed,
then the gfx job should be skipped.

Fixes: 26c95e83 ("drm/amdgpu: set the VM pointer to NULL in amdgpu_job_prepare")
Signed-off-by: default avatarYuanShang <YuanShang.Mao@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
(cherry picked from commit ed76936c)
Cc: stable@vger.kernel.org
parent 1c8dc3e0
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -365,13 +365,6 @@ amdgpu_job_prepare_job(struct drm_sched_job *sched_job,
			dev_err(ring->adev->dev, "Error getting VM ID (%d)\n", r);
			goto error;
		}
		/*
		 * The VM structure might be released after the VMID is
		 * assigned, we had multiple problems with people trying to use
		 * the VM pointer so better set it to NULL.
		 */
		if (!fence)
			job->vm = NULL;
		return fence;
	}