Commit 3ebcab11 authored by Timur Kristóf's avatar Timur Kristóf Committed by Alex Deucher
Browse files

drm/amdgpu/vce1: Don't repeat GTT MGR node allocation



Only allocate entries from the GTT manager when the
VCE GTT node is not allocated yet. This prevents the
possibility of allocating them multiple times, which
causes issues during GPU reset and suspend/resume.

Fixes: 71aec08f ("amdgpu/vce: use amdgpu_gtt_mgr_alloc_entries")
Signed-off-by: default avatarTimur Kristóf <timur.kristof@gmail.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 8d2a20c1721cb17e22821e1b4ecbb02d475d91c5)
parent 12b60cf3
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -545,11 +545,13 @@ static int vce_v1_0_ensure_vcpu_bo_32bit_addr(struct amdgpu_device *adev)
	if (adev->gmc.vram_start < adev->gmc.gart_start)
		return amdgpu_bo_gpu_offset(adev->vce.vcpu_bo) <= max_vcpu_bo_addr ? 0 : -EINVAL;

	if (!drm_mm_node_allocated(&adev->vce.gart_node)) {
		r = amdgpu_gtt_mgr_alloc_entries(&adev->mman.gtt_mgr,
						 &adev->vce.gart_node, num_pages,
						 DRM_MM_INSERT_LOW);
		if (r)
			return r;
	}

	vce_gart_start_offs = amdgpu_gtt_node_to_byte_offset(&adev->vce.gart_node);