drm/amdgpu: Moved gart_size calculation to mc_init functions
authorOak Zeng <Oak.Zeng@amd.com>
Sat, 3 Oct 2020 01:03:11 +0000 (20:03 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Mar 2021 02:58:30 +0000 (22:58 -0400)
In amdgpu_gmc_gart_location function, gart_size is adjusted
by a smu_prv_buffer_size. This logic shouldn't belong to
this function. Move the logic to the mc_init functions

Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
Reviewed-by: Christian Konig <christian.koenig@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c

index 1a89252..2a85887 100644 (file)
@@ -176,8 +176,6 @@ void amdgpu_gmc_gart_location(struct amdgpu_device *adev, struct amdgpu_gmc *mc)
        /*To avoid the hole, limit the max mc address to AMDGPU_GMC_HOLE_START*/
        u64 max_mc_address = min(adev->gmc.mc_mask, AMDGPU_GMC_HOLE_START - 1);
 
-       mc->gart_size += adev->pm.smu_prv_buffer_size;
-
        /* VCE doesn't like it when BOs cross a 4GB segment, so align
         * the GART base on a 4GB boundary as well.
         */
index f5b6948..405d6ad 100644 (file)
@@ -346,6 +346,7 @@ static int gmc_v6_0_mc_init(struct amdgpu_device *adev)
                adev->gmc.gart_size = (u64)amdgpu_gart_size << 20;
        }
 
+       adev->gmc.gart_size += adev->pm.smu_prv_buffer_size;
        gmc_v6_0_vram_gtt_location(adev, &adev->gmc);
 
        return 0;
index dee2b34..210ada2 100644 (file)
@@ -414,6 +414,7 @@ static int gmc_v7_0_mc_init(struct amdgpu_device *adev)
                adev->gmc.gart_size = (u64)amdgpu_gart_size << 20;
        }
 
+       adev->gmc.gart_size += adev->pm.smu_prv_buffer_size;
        gmc_v7_0_vram_gtt_location(adev, &adev->gmc);
 
        return 0;
index 2d832fc..c1bd190 100644 (file)
@@ -599,6 +599,7 @@ static int gmc_v8_0_mc_init(struct amdgpu_device *adev)
                adev->gmc.gart_size = (u64)amdgpu_gart_size << 20;
        }
 
+       adev->gmc.gart_size += adev->pm.smu_prv_buffer_size;
        gmc_v8_0_vram_gtt_location(adev, &adev->gmc);
 
        return 0;
index e7efae0..563a8bc 100644 (file)
@@ -1344,6 +1344,8 @@ static int gmc_v9_0_mc_init(struct amdgpu_device *adev)
                adev->gmc.gart_size = (u64)amdgpu_gart_size << 20;
        }
 
+       adev->gmc.gart_size += adev->pm.smu_prv_buffer_size;
+
        gmc_v9_0_vram_gtt_location(adev, &adev->gmc);
 
        return 0;