Преглед изворни кода

drm/amdgpu: move setting the GART addr into TTM

Move setting the GART addr for window based copies into the TTM code who
uses it.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Christian König пре 7 година
родитељ
комит
cbd5285142
2 измењених фајлова са 4 додато и 3 уклоњено
  1. 0 2
      drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
  2. 4 1
      drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

+ 0 - 2
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c

@@ -83,8 +83,6 @@ int amdgpu_job_alloc_with_ib(struct amdgpu_device *adev, unsigned size,
 	r = amdgpu_ib_get(adev, NULL, size, &(*job)->ibs[0]);
 	if (r)
 		kfree(*job);
-	else
-		(*job)->vm_pd_addr = adev->gart.table_addr;
 
 	return r;
 }

+ 4 - 1
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

@@ -2048,7 +2048,10 @@ int amdgpu_copy_buffer(struct amdgpu_ring *ring, uint64_t src_offset,
 	if (r)
 		return r;
 
-	job->vm_needs_flush = vm_needs_flush;
+	if (vm_needs_flush) {
+		job->vm_pd_addr = adev->gart.table_addr;
+		job->vm_needs_flush = true;
+	}
 	if (resv) {
 		r = amdgpu_sync_resv(adev, &job->sync, resv,
 				     AMDGPU_FENCE_OWNER_UNDEFINED,