From: wentalou Date: Mon, 14 Jan 2019 08:26:13 +0000 (+0800) Subject: drm/amdgpu: csa_vaddr should not larger than AMDGPU_GMC_HOLE_START X-Git-Tag: v5.15~6763^2~22^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=06ea4c34991570d1e3d175f81029a6ea4bd8f634;p=platform%2Fkernel%2Flinux-starfive.git drm/amdgpu: csa_vaddr should not larger than AMDGPU_GMC_HOLE_START After removing unnecessary VM size calculations, vm_manager.max_pfn would reach 0x10,0000,0000 max_pfn << AMDGPU_GPU_PAGE_SHIFT exceeding AMDGPU_GMC_HOLE_START would cause GPU reset. Signed-off-by: wentalou Reviewed-by: Monk Liu Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c index 7e22be7..dd3bd01 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c @@ -26,7 +26,8 @@ uint64_t amdgpu_csa_vaddr(struct amdgpu_device *adev) { - uint64_t addr = adev->vm_manager.max_pfn << AMDGPU_GPU_PAGE_SHIFT; + uint64_t addr = min(adev->vm_manager.max_pfn << AMDGPU_GPU_PAGE_SHIFT, + AMDGPU_GMC_HOLE_START); addr -= AMDGPU_VA_RESERVED_SIZE; addr = amdgpu_gmc_sign_extend(addr);