OSDN Git Service

drm/amdgpu: fix mask in GART location calculation
authorChristian König <christian.koenig@amd.com>
Fri, 14 Sep 2018 08:17:24 +0000 (10:17 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Sep 2018 15:05:34 +0000 (10:05 -0500)
We need to mask the lower bits not the upper one.

Fixes: ec210e3226dc0 drm/amdgpu: put GART away from VRAM v2

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: James Zhu <James.Zhu@amd.com>
Tested-by: James Zhu <James.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c

index ae44671..9a5b252 100644 (file)
@@ -166,7 +166,7 @@ void amdgpu_gmc_gart_location(struct amdgpu_device *adev, struct amdgpu_gmc *mc)
        else
                mc->gart_start = mc->mc_mask - mc->gart_size + 1;
 
-       mc->gart_start &= four_gb - 1;
+       mc->gart_start &= ~(four_gb - 1);
        mc->gart_end = mc->gart_start + mc->gart_size - 1;
        dev_info(adev->dev, "GART: %lluM 0x%016llX - 0x%016llX\n",
                        mc->gart_size >> 20, mc->gart_start, mc->gart_end);