]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd: Mark amdgpu.gttsize parameter as deprecated and show warnings on use
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 16 Jan 2025 21:53:20 +0000 (15:53 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 13 Feb 2025 02:02:58 +0000 (21:02 -0500)
When not set `gttsize` module parameter by default will get the
value to use for the GTT pool from the TTM page limit, which is
set by a separate module parameter.

This inevitably leads to people not sure which one to set when they
want more addressable memory for the GPU, and you'll end up seeing
instructions online saying to set both.

Add some messages to try to guide people both who are using or misusing
the parameters and mark the parameter as deprecated with the plan to
drop it after the next LTS kernel release.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@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_ttm.c

index 95a05b03f799d0bf6303f7679d91dda313a6990c..e789f6790a1c63c57fd0cc68b8a7e977cb4ac058 100644 (file)
@@ -283,6 +283,7 @@ module_param_named(gartsize, amdgpu_gart_size, uint, 0600);
  * DOC: gttsize (int)
  * Restrict the size of GTT domain (for userspace use) in MiB for testing.
  * The default is -1 (Use value specified by TTM).
+ * This parameter is deprecated and will be removed in the future.
  */
 MODULE_PARM_DESC(gttsize, "Size of the GTT userspace domain in megabytes (-1 = auto)");
 module_param_named(gttsize, amdgpu_gtt_size, int, 0600);
index 01ae2f88dec8c6a082b63e891c11bbc3ae0f23d2..3f61c999fde3028393eda21c61e6dd579960694f 100644 (file)
@@ -1964,10 +1964,19 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
        /* Compute GTT size, either based on TTM limit
         * or whatever the user passed on module init.
         */
-       if (amdgpu_gtt_size == -1)
-               gtt_size = ttm_tt_pages_limit() << PAGE_SHIFT;
-       else
-               gtt_size = (uint64_t)amdgpu_gtt_size << 20;
+       gtt_size = ttm_tt_pages_limit() << PAGE_SHIFT;
+       if (amdgpu_gtt_size != -1) {
+               uint64_t configured_size = (uint64_t)amdgpu_gtt_size << 20;
+
+               drm_warn(&adev->ddev,
+                       "Configuring gttsize via module parameter is deprecated, please use ttm.pages_limit\n");
+               if (gtt_size != configured_size)
+                       drm_warn(&adev->ddev,
+                               "GTT size has been set as %llu but TTM size has been set as %llu, this is unusual\n",
+                               configured_size, gtt_size);
+
+               gtt_size = configured_size;
+       }
 
        /* Initialize GTT memory pool */
        r = amdgpu_gtt_mgr_init(adev, gtt_size);