[PATCH] drm/amdgpu: fix AGP location with VRAM at 0x0

Christian König ckoenig.leichtzumerken at gmail.com
Mon Oct 8 11:35:50 UTC 2018


Ping, can anybody review this?

Am 04.10.2018 um 11:02 schrieb Christian König:
> That also simplifies handling quite a bit.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 7 ++-----
>   1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
> index 9a5b252784a1..999e15945355 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
> @@ -200,16 +200,13 @@ void amdgpu_gmc_agp_location(struct amdgpu_device *adev, struct amdgpu_gmc *mc)
>   	}
>   
>   	if (size_bf > size_af) {
> -		mc->agp_start = mc->fb_start > mc->gart_start ?
> -			mc->gart_end + 1 : 0;
> +		mc->agp_start = (mc->fb_start - size_bf) & sixteen_gb_mask;
>   		mc->agp_size = size_bf;
>   	} else {
> -		mc->agp_start = (mc->fb_start > mc->gart_start ?
> -			mc->fb_end : mc->gart_end) + 1,
> +		mc->agp_start = ALIGN(mc->fb_end + 1, sixteen_gb);
>   		mc->agp_size = size_af;
>   	}
>   
> -	mc->agp_start = ALIGN(mc->agp_start, sixteen_gb);
>   	mc->agp_end = mc->agp_start + mc->agp_size - 1;
>   	dev_info(adev->dev, "AGP: %lluM 0x%016llX - 0x%016llX\n",
>   			mc->agp_size >> 20, mc->agp_start, mc->agp_end);



More information about the amd-gfx mailing list