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 1a892526d0204ac7f4a0528a0a85a9152bb601dc..2a8588762c1d95e690663b88049ece9c9752caeb 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 f5b69484c45abf226d81feef1eb26eaab397722f..405d6ad09022ca8a63fbcba78a418481fcdb1c4e 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 dee2b34effb619811907271bb166bc1ac7896c91..210ada2289ec9cf931991f4f37b448474306ca9e 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 2d832fc231191bcd39032f6fe27f29cc5f63ac68..c1bd190841f8588680c38a0cc45a2f15b42b62e1 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 e7efae0f98ca7352b8de92ef59a4b3dd807956ac..563a8bc478c9616c5a15ce66a40ec74a17db61d1 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;