[PATCH] drm/amdgpu: csa_vaddr should not larger than AMDGPU_GMC_HOLE_START

Christian König ckoenig.leichtzumerken at gmail.com
Mon Jan 14 13:05:20 UTC 2019


Am 14.01.19 um 09:40 schrieb wentalou:
> 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 caused GPU reset.
>
> Change-Id: I47ad0be2b0bd9fb7490c4e1d7bb7bdacf71132cb
> Signed-off-by: wentalou <Wentao.Lou at amd.com>

NAK, that is incorrect. We intentionally place the csa above the GMC hole.

Regards,
Christian.

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> 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);



More information about the amd-gfx mailing list