drm/amdgpu: refine default gart size
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 22 Aug 2017 16:21:07 +0000 (12:21 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 24 Aug 2017 15:48:44 +0000 (11:48 -0400)
Be more explicit and add comments explaining each case.
Also s/gart/GART/ in the parameter string as per Felix'
suggestion.

Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c

index 4ecf73787475be477cc1df86c6c002a1ec259b50..0f16986ec5bc44356c19e9a7988a57e4b35f05bb 100644 (file)
@@ -128,7 +128,7 @@ module_param_named(vramlimit, amdgpu_vram_limit, int, 0600);
 MODULE_PARM_DESC(vis_vramlimit, "Restrict visible VRAM for testing, in megabytes");
 module_param_named(vis_vramlimit, amdgpu_vis_vram_limit, int, 0444);
 
-MODULE_PARM_DESC(gartsize, "Size of gart to setup in megabytes (32, 64, etc., -1=auto)");
+MODULE_PARM_DESC(gartsize, "Size of GART to setup in megabytes (32, 64, etc., -1=auto)");
 module_param_named(gartsize, amdgpu_gart_size, uint, 0600);
 
 MODULE_PARM_DESC(gttsize, "Size of the GTT domain in megabytes (-1 = auto)");
index b9b9f680fc084bd6f185f26ffa901aded711948d..2027eb010a47bceebb1515d7355b078920773623 100644 (file)
@@ -68,13 +68,39 @@ void amdgpu_gart_set_defaults(struct amdgpu_device *adev)
        u64 gart_size;
 
        if (amdgpu_gart_size == -1) {
-               /* make the GART larger for chips that
-                * dont' support VM for all rings
-                */
-               if (adev->asic_type <= CHIP_STONEY)
-                       gart_size = 1024;
-               else
+               switch (adev->asic_type) {
+#ifdef CONFIG_DRM_AMDGPU_SI
+               case CHIP_HAINAN:    /* no MM engines */
+#endif
+               case CHIP_TOPAZ:     /* no MM engines */
+               case CHIP_POLARIS11: /* all engines support GPUVM */
+               case CHIP_POLARIS10: /* all engines support GPUVM */
+               case CHIP_POLARIS12: /* all engines support GPUVM */
+               case CHIP_VEGA10:    /* all engines support GPUVM */
+               default:
                        gart_size = 256;
+                       break;
+#ifdef CONFIG_DRM_AMDGPU_SI
+               case CHIP_VERDE:    /* UVD, VCE do not support GPUVM */
+               case CHIP_TAHITI:   /* UVD, VCE do not support GPUVM */
+               case CHIP_PITCAIRN: /* UVD, VCE do not support GPUVM */
+               case CHIP_OLAND:    /* UVD, VCE do not support GPUVM */
+#endif
+#ifdef CONFIG_DRM_AMDGPU_CIK
+               case CHIP_BONAIRE: /* UVD, VCE do not support GPUVM */
+               case CHIP_HAWAII:  /* UVD, VCE do not support GPUVM */
+               case CHIP_KAVERI:  /* UVD, VCE do not support GPUVM */
+               case CHIP_KABINI:  /* UVD, VCE do not support GPUVM */
+               case CHIP_MULLINS: /* UVD, VCE do not support GPUVM */
+#endif
+               case CHIP_TONGA:   /* UVD, VCE do not support GPUVM */
+               case CHIP_FIJI:    /* UVD, VCE do not support GPUVM */
+               case CHIP_CARRIZO: /* UVD, VCE do not support GPUVM, DCE SG support */
+               case CHIP_STONEY:  /* UVD does not support GPUVM, DCE SG support */
+               case CHIP_RAVEN:   /* DCE SG support */
+                       gart_size = 1024;
+                       break;
+               }
        } else {
                gart_size = amdgpu_gart_size;
        }