Commit 12b60cf3 authored by Timur Kristóf's avatar Timur Kristóf Committed by Alex Deucher
Browse files

drm/amdgpu/vce1: Check if VRAM address is lower than GART.



Previously, I had assumed this was not possible
so it was OK to not handle it, but now we got a report
from a user who has a board that is configured this way.

When the VCPU BO is already located in a low 32-bit address
in VRAM (eg. when VRAM is mapped to the low address space),
don't do the workaround.

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 f370ec9b164698a9ca1a7b59bfbea07f70df769d)
parent d993851b
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -542,6 +542,9 @@ static int vce_v1_0_ensure_vcpu_bo_32bit_addr(struct amdgpu_device *adev)
	u64 vce_gart_start_offs;
	int r;

	if (adev->gmc.vram_start < adev->gmc.gart_start)
		return amdgpu_bo_gpu_offset(adev->vce.vcpu_bo) <= max_vcpu_bo_addr ? 0 : -EINVAL;

	r = amdgpu_gtt_mgr_alloc_entries(&adev->mman.gtt_mgr,
					 &adev->vce.gart_node, num_pages,
					 DRM_MM_INSERT_LOW);