diff options
author | Christian König <christian.koenig@amd.com> | 2017-06-26 05:37:49 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-07-14 11:05:53 -0400 |
commit | 011d4bbea969268c013eaf6e39721d3181833711 (patch) | |
tree | 91cf62eced392441a070c2ea19e21e6226a06b24 | |
parent | 890419409a3aba2ca7185a824e47d8ded8df11a2 (diff) |
drm/amdgpu: cleanup initializing gtt_size
Stop spreading the code over all GMC generations.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 20 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 10 |
6 files changed, 25 insertions, 36 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 20e0ed96efbb..df63823ad4db 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -559,6 +559,7 @@ struct amdgpu_gart { | |||
559 | const struct amdgpu_gart_funcs *gart_funcs; | 559 | const struct amdgpu_gart_funcs *gart_funcs; |
560 | }; | 560 | }; |
561 | 561 | ||
562 | void amdgpu_gart_set_defaults(struct amdgpu_device *adev); | ||
562 | int amdgpu_gart_table_ram_alloc(struct amdgpu_device *adev); | 563 | int amdgpu_gart_table_ram_alloc(struct amdgpu_device *adev); |
563 | void amdgpu_gart_table_ram_free(struct amdgpu_device *adev); | 564 | void amdgpu_gart_table_ram_free(struct amdgpu_device *adev); |
564 | int amdgpu_gart_table_vram_alloc(struct amdgpu_device *adev); | 565 | int amdgpu_gart_table_vram_alloc(struct amdgpu_device *adev); |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c index a57abc1a25fb..982b1cc11dac 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | |||
@@ -55,6 +55,26 @@ | |||
55 | /* | 55 | /* |
56 | * Common GART table functions. | 56 | * Common GART table functions. |
57 | */ | 57 | */ |
58 | |||
59 | /** | ||
60 | * amdgpu_gart_set_defaults - set the default gtt_size | ||
61 | * | ||
62 | * @adev: amdgpu_device pointer | ||
63 | * | ||
64 | * Set the default gtt_size based on parameters and available VRAM. | ||
65 | */ | ||
66 | void amdgpu_gart_set_defaults(struct amdgpu_device *adev) | ||
67 | { | ||
68 | /* unless the user had overridden it, set the gart | ||
69 | * size equal to the 1024 or vram, whichever is larger. | ||
70 | */ | ||
71 | if (amdgpu_gart_size == -1) | ||
72 | adev->mc.gtt_size = max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20), | ||
73 | adev->mc.mc_vram_size); | ||
74 | else | ||
75 | adev->mc.gtt_size = (uint64_t)amdgpu_gart_size << 20; | ||
76 | } | ||
77 | |||
58 | /** | 78 | /** |
59 | * amdgpu_gart_table_ram_alloc - allocate system ram for gart page table | 79 | * amdgpu_gart_table_ram_alloc - allocate system ram for gart page table |
60 | * | 80 | * |
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c index c1a124a86775..5f7750c6497e 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | |||
@@ -321,15 +321,7 @@ static int gmc_v6_0_mc_init(struct amdgpu_device *adev) | |||
321 | adev->mc.real_vram_size = RREG32(mmCONFIG_MEMSIZE) * 1024ULL * 1024ULL; | 321 | adev->mc.real_vram_size = RREG32(mmCONFIG_MEMSIZE) * 1024ULL * 1024ULL; |
322 | adev->mc.visible_vram_size = adev->mc.aper_size; | 322 | adev->mc.visible_vram_size = adev->mc.aper_size; |
323 | 323 | ||
324 | /* unless the user had overridden it, set the gart | 324 | amdgpu_gart_set_defaults(adev); |
325 | * size equal to the 1024 or vram, whichever is larger. | ||
326 | */ | ||
327 | if (amdgpu_gart_size == -1) | ||
328 | adev->mc.gtt_size = max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20), | ||
329 | adev->mc.mc_vram_size); | ||
330 | else | ||
331 | adev->mc.gtt_size = (uint64_t)amdgpu_gart_size << 20; | ||
332 | |||
333 | gmc_v6_0_vram_gtt_location(adev, &adev->mc); | 325 | gmc_v6_0_vram_gtt_location(adev, &adev->mc); |
334 | 326 | ||
335 | return 0; | 327 | return 0; |
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c index 575d72583746..388b52febc8b 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | |||
@@ -373,15 +373,7 @@ static int gmc_v7_0_mc_init(struct amdgpu_device *adev) | |||
373 | if (adev->mc.visible_vram_size > adev->mc.real_vram_size) | 373 | if (adev->mc.visible_vram_size > adev->mc.real_vram_size) |
374 | adev->mc.visible_vram_size = adev->mc.real_vram_size; | 374 | adev->mc.visible_vram_size = adev->mc.real_vram_size; |
375 | 375 | ||
376 | /* unless the user had overridden it, set the gart | 376 | amdgpu_gart_set_defaults(adev); |
377 | * size equal to the 1024 or vram, whichever is larger. | ||
378 | */ | ||
379 | if (amdgpu_gart_size == -1) | ||
380 | adev->mc.gtt_size = max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20), | ||
381 | adev->mc.mc_vram_size); | ||
382 | else | ||
383 | adev->mc.gtt_size = (uint64_t)amdgpu_gart_size << 20; | ||
384 | |||
385 | gmc_v7_0_vram_gtt_location(adev, &adev->mc); | 377 | gmc_v7_0_vram_gtt_location(adev, &adev->mc); |
386 | 378 | ||
387 | return 0; | 379 | return 0; |
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c index 6379177b9fcb..d148d1c585b3 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | |||
@@ -535,15 +535,7 @@ static int gmc_v8_0_mc_init(struct amdgpu_device *adev) | |||
535 | if (adev->mc.visible_vram_size > adev->mc.real_vram_size) | 535 | if (adev->mc.visible_vram_size > adev->mc.real_vram_size) |
536 | adev->mc.visible_vram_size = adev->mc.real_vram_size; | 536 | adev->mc.visible_vram_size = adev->mc.real_vram_size; |
537 | 537 | ||
538 | /* unless the user had overridden it, set the gart | 538 | amdgpu_gart_set_defaults(adev); |
539 | * size equal to the 1024 or vram, whichever is larger. | ||
540 | */ | ||
541 | if (amdgpu_gart_size == -1) | ||
542 | adev->mc.gtt_size = max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20), | ||
543 | adev->mc.mc_vram_size); | ||
544 | else | ||
545 | adev->mc.gtt_size = (uint64_t)amdgpu_gart_size << 20; | ||
546 | |||
547 | gmc_v8_0_vram_gtt_location(adev, &adev->mc); | 539 | gmc_v8_0_vram_gtt_location(adev, &adev->mc); |
548 | 540 | ||
549 | return 0; | 541 | return 0; |
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c index c6394ea69f96..dbb43d99e02e 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | |||
@@ -494,15 +494,7 @@ static int gmc_v9_0_mc_init(struct amdgpu_device *adev) | |||
494 | if (adev->mc.visible_vram_size > adev->mc.real_vram_size) | 494 | if (adev->mc.visible_vram_size > adev->mc.real_vram_size) |
495 | adev->mc.visible_vram_size = adev->mc.real_vram_size; | 495 | adev->mc.visible_vram_size = adev->mc.real_vram_size; |
496 | 496 | ||
497 | /* unless the user had overridden it, set the gart | 497 | amdgpu_gart_set_defaults(adev); |
498 | * size equal to the 1024 or vram, whichever is larger. | ||
499 | */ | ||
500 | if (amdgpu_gart_size == -1) | ||
501 | adev->mc.gtt_size = max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20), | ||
502 | adev->mc.mc_vram_size); | ||
503 | else | ||
504 | adev->mc.gtt_size = (uint64_t)amdgpu_gart_size << 20; | ||
505 | |||
506 | gmc_v9_0_vram_gtt_location(adev, &adev->mc); | 498 | gmc_v9_0_vram_gtt_location(adev, &adev->mc); |
507 | 499 | ||
508 | return 0; | 500 | return 0; |