diff options
author | Christian König <christian.koenig@amd.com> | 2017-07-07 07:44:05 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-07-14 11:06:31 -0400 |
commit | f9321cc4408bd90bb0adcd929c04322aaf6afdcc (patch) | |
tree | f242dc3d3eeb722a4a91f0368122368c8aadb8a8 /drivers/gpu/drm/amd | |
parent | 36d3837266c53a92a909f22f6bbf0846c0e6464f (diff) |
drm/amdgpu: change gartsize default to 256MB
Limit the default GART size and save a lot of VRAM.
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>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 12 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 9 |
4 files changed, 10 insertions, 19 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index c7436ea425b4..019a4b73e5f5 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -75,7 +75,7 @@ | |||
75 | */ | 75 | */ |
76 | extern int amdgpu_modeset; | 76 | extern int amdgpu_modeset; |
77 | extern int amdgpu_vram_limit; | 77 | extern int amdgpu_vram_limit; |
78 | extern int amdgpu_gart_size; | 78 | extern unsigned amdgpu_gart_size; |
79 | extern int amdgpu_gtt_size; | 79 | extern int amdgpu_gtt_size; |
80 | extern int amdgpu_moverate; | 80 | extern int amdgpu_moverate; |
81 | extern int amdgpu_benchmarking; | 81 | extern int amdgpu_benchmarking; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 49dd8e0ddd17..0e629931210c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | |||
@@ -1132,13 +1132,11 @@ static void amdgpu_check_arguments(struct amdgpu_device *adev) | |||
1132 | amdgpu_sched_jobs = roundup_pow_of_two(amdgpu_sched_jobs); | 1132 | amdgpu_sched_jobs = roundup_pow_of_two(amdgpu_sched_jobs); |
1133 | } | 1133 | } |
1134 | 1134 | ||
1135 | if (amdgpu_gart_size != -1) { | 1135 | if (amdgpu_gart_size < 32) { |
1136 | /* gtt size must be greater or equal to 32M */ | 1136 | /* gart size must be greater or equal to 32M */ |
1137 | if (amdgpu_gart_size < 32) { | 1137 | dev_warn(adev->dev, "gart size (%d) too small\n", |
1138 | dev_warn(adev->dev, "gart size (%d) too small\n", | 1138 | amdgpu_gart_size); |
1139 | amdgpu_gart_size); | 1139 | amdgpu_gart_size = 32; |
1140 | amdgpu_gart_size = -1; | ||
1141 | } | ||
1142 | } | 1140 | } |
1143 | 1141 | ||
1144 | if (amdgpu_gtt_size != -1 && amdgpu_gtt_size < 32) { | 1142 | 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 b83e87fef6a8..ed760f477542 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | |||
@@ -74,7 +74,7 @@ | |||
74 | #define KMS_DRIVER_PATCHLEVEL 0 | 74 | #define KMS_DRIVER_PATCHLEVEL 0 |
75 | 75 | ||
76 | int amdgpu_vram_limit = 0; | 76 | int amdgpu_vram_limit = 0; |
77 | int amdgpu_gart_size = -1; /* auto */ | 77 | unsigned amdgpu_gart_size = 256; |
78 | int amdgpu_gtt_size = -1; /* auto */ | 78 | int amdgpu_gtt_size = -1; /* auto */ |
79 | int amdgpu_moverate = -1; /* auto */ | 79 | int amdgpu_moverate = -1; /* auto */ |
80 | int amdgpu_benchmarking = 0; | 80 | int amdgpu_benchmarking = 0; |
@@ -121,8 +121,8 @@ int amdgpu_lbpw = -1; | |||
121 | MODULE_PARM_DESC(vramlimit, "Restrict VRAM for testing, in megabytes"); | 121 | MODULE_PARM_DESC(vramlimit, "Restrict VRAM for testing, in megabytes"); |
122 | module_param_named(vramlimit, amdgpu_vram_limit, int, 0600); | 122 | module_param_named(vramlimit, amdgpu_vram_limit, int, 0600); |
123 | 123 | ||
124 | MODULE_PARM_DESC(gartsize, "Size of PCIE/IGP gart to setup in megabytes (32, 64, etc., -1 = auto)"); | 124 | MODULE_PARM_DESC(gartsize, "Size of PCIE/IGP gart to setup in megabytes (32, 64, etc.)"); |
125 | module_param_named(gartsize, amdgpu_gart_size, int, 0600); | 125 | module_param_named(gartsize, amdgpu_gart_size, uint, 0600); |
126 | 126 | ||
127 | MODULE_PARM_DESC(gttsize, "Size of the GTT domain in megabytes (-1 = auto)"); | 127 | MODULE_PARM_DESC(gttsize, "Size of the GTT domain in megabytes (-1 = auto)"); |
128 | module_param_named(gttsize, amdgpu_gtt_size, int, 0600); | 128 | module_param_named(gttsize, amdgpu_gtt_size, int, 0600); |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c index d578ca6f2dfd..5cc4987cd887 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | |||
@@ -65,14 +65,7 @@ | |||
65 | */ | 65 | */ |
66 | void amdgpu_gart_set_defaults(struct amdgpu_device *adev) | 66 | void amdgpu_gart_set_defaults(struct amdgpu_device *adev) |
67 | { | 67 | { |
68 | /* unless the user had overridden it, set the gart | 68 | adev->mc.gart_size = (uint64_t)amdgpu_gart_size << 20; |
69 | * size equal to the 1024 or vram, whichever is larger. | ||
70 | */ | ||
71 | if (amdgpu_gart_size == -1) | ||
72 | adev->mc.gart_size = max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20), | ||
73 | adev->mc.mc_vram_size); | ||
74 | else | ||
75 | adev->mc.gart_size = (uint64_t)amdgpu_gart_size << 20; | ||
76 | } | 69 | } |
77 | 70 | ||
78 | /** | 71 | /** |