[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