aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h2
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c4
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c4
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c16
4 files changed, 20 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 12e71bbfd222..103635ab784c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -76,7 +76,7 @@
76extern int amdgpu_modeset; 76extern int amdgpu_modeset;
77extern int amdgpu_vram_limit; 77extern int amdgpu_vram_limit;
78extern int amdgpu_vis_vram_limit; 78extern int amdgpu_vis_vram_limit;
79extern unsigned amdgpu_gart_size; 79extern int amdgpu_gart_size;
80extern int amdgpu_gtt_size; 80extern int amdgpu_gtt_size;
81extern int amdgpu_moverate; 81extern int amdgpu_moverate;
82extern int amdgpu_benchmarking; 82extern int amdgpu_benchmarking;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 1a459ac63df4..f7ffb029f6d5 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1062,11 +1062,11 @@ static void amdgpu_check_arguments(struct amdgpu_device *adev)
1062 amdgpu_sched_jobs = roundup_pow_of_two(amdgpu_sched_jobs); 1062 amdgpu_sched_jobs = roundup_pow_of_two(amdgpu_sched_jobs);
1063 } 1063 }
1064 1064
1065 if (amdgpu_gart_size < 32) { 1065 if (amdgpu_gart_size != -1 && amdgpu_gart_size < 32) {
1066 /* gart size must be greater or equal to 32M */ 1066 /* gart size must be greater or equal to 32M */
1067 dev_warn(adev->dev, "gart size (%d) too small\n", 1067 dev_warn(adev->dev, "gart size (%d) too small\n",
1068 amdgpu_gart_size); 1068 amdgpu_gart_size);
1069 amdgpu_gart_size = 32; 1069 amdgpu_gart_size = -1;
1070 } 1070 }
1071 1071
1072 if (amdgpu_gtt_size != -1 && amdgpu_gtt_size < 32) { 1072 if (amdgpu_gtt_size != -1 && amdgpu_gtt_size < 32) {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index e39ec981b11c..4ecf73787475 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -76,7 +76,7 @@
76 76
77int amdgpu_vram_limit = 0; 77int amdgpu_vram_limit = 0;
78int amdgpu_vis_vram_limit = 0; 78int amdgpu_vis_vram_limit = 0;
79unsigned amdgpu_gart_size = 256; 79int amdgpu_gart_size = -1; /* auto */
80int amdgpu_gtt_size = -1; /* auto */ 80int amdgpu_gtt_size = -1; /* auto */
81int amdgpu_moverate = -1; /* auto */ 81int amdgpu_moverate = -1; /* auto */
82int amdgpu_benchmarking = 0; 82int amdgpu_benchmarking = 0;
@@ -128,7 +128,7 @@ module_param_named(vramlimit, amdgpu_vram_limit, int, 0600);
128MODULE_PARM_DESC(vis_vramlimit, "Restrict visible VRAM for testing, in megabytes"); 128MODULE_PARM_DESC(vis_vramlimit, "Restrict visible VRAM for testing, in megabytes");
129module_param_named(vis_vramlimit, amdgpu_vis_vram_limit, int, 0444); 129module_param_named(vis_vramlimit, amdgpu_vis_vram_limit, int, 0444);
130 130
131MODULE_PARM_DESC(gartsize, "Size of PCIE/IGP gart to setup in megabytes (32, 64, etc.)"); 131MODULE_PARM_DESC(gartsize, "Size of gart to setup in megabytes (32, 64, etc., -1=auto)");
132module_param_named(gartsize, amdgpu_gart_size, uint, 0600); 132module_param_named(gartsize, amdgpu_gart_size, uint, 0600);
133 133
134MODULE_PARM_DESC(gttsize, "Size of the GTT domain in megabytes (-1 = auto)"); 134MODULE_PARM_DESC(gttsize, "Size of the GTT domain in megabytes (-1 = auto)");
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
index 94c1e2e8e34c..b9b9f680fc08 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
@@ -65,7 +65,21 @@
65 */ 65 */
66void amdgpu_gart_set_defaults(struct amdgpu_device *adev) 66void amdgpu_gart_set_defaults(struct amdgpu_device *adev)
67{ 67{
68 adev->mc.gart_size = (uint64_t)amdgpu_gart_size << 20; 68 u64 gart_size;
69
70 if (amdgpu_gart_size == -1) {
71 /* make the GART larger for chips that
72 * dont' support VM for all rings
73 */
74 if (adev->asic_type <= CHIP_STONEY)
75 gart_size = 1024;
76 else
77 gart_size = 256;
78 } else {
79 gart_size = amdgpu_gart_size;
80 }
81
82 adev->mc.gart_size = gart_size << 20;
69} 83}
70 84
71/** 85/**