]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amdgpu: revert "Implement new dummy vram manager"
authorChristian König <christian.koenig@amd.com>
Fri, 6 Jun 2025 12:53:54 +0000 (14:53 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 15 Sep 2025 21:04:49 +0000 (17:04 -0400)
This is should be unnecessary since a VRAM manager isn't mandatory in
the first place.

It could be that we have some missing checks inside AMDGPU or TTM but
those should then be fixed instead of worked around like that.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c

index f38bc9542cd6885fcb2e83d1246ab6f90abdee53..4e2486dbc0a611d2706ce2a8d246828e0c296c57 100644 (file)
@@ -1943,11 +1943,13 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
        }
        adev->mman.initialized = true;
 
-       /* Initialize VRAM pool with all of VRAM divided into pages */
-       r = amdgpu_vram_mgr_init(adev);
-       if (r) {
-               dev_err(adev->dev, "Failed initializing VRAM heap.\n");
-               return r;
+       if (!adev->gmc.is_app_apu) {
+               /* Initialize VRAM pool with all of VRAM divided into pages */
+               r = amdgpu_vram_mgr_init(adev);
+               if (r) {
+                       dev_err(adev->dev, "Failed initializing VRAM heap.\n");
+                       return r;
+               }
        }
 
        /* Change the size here instead of the init above so only lpfn is affected */
@@ -2162,7 +2164,8 @@ void amdgpu_ttm_fini(struct amdgpu_device *adev)
                drm_dev_exit(idx);
        }
 
-       amdgpu_vram_mgr_fini(adev);
+       if (!adev->gmc.is_app_apu)
+               amdgpu_vram_mgr_fini(adev);
        amdgpu_gtt_mgr_fini(adev);
        amdgpu_preempt_mgr_fini(adev);
        amdgpu_doorbell_fini(adev);
index e69db0a933788cb286ec532abbc98a32aa4aa7a6..a5adb2ed9b3c6e1a18fb5771fda537697cad1414 100644 (file)
@@ -425,45 +425,6 @@ out:
        return ret;
 }
 
-static void amdgpu_dummy_vram_mgr_debug(struct ttm_resource_manager *man,
-                                 struct drm_printer *printer)
-{
-       DRM_DEBUG_DRIVER("Dummy vram mgr debug\n");
-}
-
-static bool amdgpu_dummy_vram_mgr_compatible(struct ttm_resource_manager *man,
-                                      struct ttm_resource *res,
-                                      const struct ttm_place *place,
-                                      size_t size)
-{
-       DRM_DEBUG_DRIVER("Dummy vram mgr compatible\n");
-       return false;
-}
-
-static bool amdgpu_dummy_vram_mgr_intersects(struct ttm_resource_manager *man,
-                                      struct ttm_resource *res,
-                                      const struct ttm_place *place,
-                                      size_t size)
-{
-       DRM_DEBUG_DRIVER("Dummy vram mgr intersects\n");
-       return true;
-}
-
-static void amdgpu_dummy_vram_mgr_del(struct ttm_resource_manager *man,
-                               struct ttm_resource *res)
-{
-       DRM_DEBUG_DRIVER("Dummy vram mgr deleted\n");
-}
-
-static int amdgpu_dummy_vram_mgr_new(struct ttm_resource_manager *man,
-                              struct ttm_buffer_object *tbo,
-                              const struct ttm_place *place,
-                              struct ttm_resource **res)
-{
-       DRM_DEBUG_DRIVER("Dummy vram mgr new\n");
-       return -ENOSPC;
-}
-
 /**
  * amdgpu_vram_mgr_new - allocate new ranges
  *
@@ -932,14 +893,6 @@ static void amdgpu_vram_mgr_debug(struct ttm_resource_manager *man,
        mutex_unlock(&mgr->lock);
 }
 
-static const struct ttm_resource_manager_func amdgpu_dummy_vram_mgr_func = {
-       .alloc  = amdgpu_dummy_vram_mgr_new,
-       .free   = amdgpu_dummy_vram_mgr_del,
-       .intersects = amdgpu_dummy_vram_mgr_intersects,
-       .compatible = amdgpu_dummy_vram_mgr_compatible,
-       .debug  = amdgpu_dummy_vram_mgr_debug
-};
-
 static const struct ttm_resource_manager_func amdgpu_vram_mgr_func = {
        .alloc  = amdgpu_vram_mgr_new,
        .free   = amdgpu_vram_mgr_del,
@@ -973,16 +926,10 @@ int amdgpu_vram_mgr_init(struct amdgpu_device *adev)
        INIT_LIST_HEAD(&mgr->allocated_vres_list);
        mgr->default_page_size = PAGE_SIZE;
 
-       if (!adev->gmc.is_app_apu) {
-               man->func = &amdgpu_vram_mgr_func;
-
-               err = drm_buddy_init(&mgr->mm, man->size, PAGE_SIZE);
-               if (err)
-                       return err;
-       } else {
-               man->func = &amdgpu_dummy_vram_mgr_func;
-               DRM_INFO("Setup dummy vram mgr\n");
-       }
+       man->func = &amdgpu_vram_mgr_func;
+       err = drm_buddy_init(&mgr->mm, man->size, PAGE_SIZE);
+       if (err)
+               return err;
 
        ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_VRAM, &mgr->manager);
        ttm_resource_manager_set_used(man, true);