ydrm/amdgpu: always allow evicting to SYSTEM domain
authorChristian König <christian.koenig@amd.com>
Tue, 22 Jun 2021 16:23:36 +0000 (12:23 -0400)
committerAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Wed, 23 Jun 2021 18:59:39 +0000 (14:59 -0400)
When we run out of GTT we should still be able to evict VRAM->SYSTEM
with a bounce bufferdrm/amdgpu: always allow evicting to SYSTEM domain

Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Acked-by: Nirmoy Das <nirmoy.das@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210622162339.761651-3-andrey.grodzovsky@amd.com
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

index 79f875792b30801e9191feaa78a9475cb3d419c0..b46726e47bcebb876630e2d28d4ba7f31490b129 100644 (file)
@@ -149,14 +149,16 @@ static void amdgpu_evict_flags(struct ttm_buffer_object *bo,
                         * BOs to be evicted from VRAM
                         */
                        amdgpu_bo_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_VRAM |
-                                                        AMDGPU_GEM_DOMAIN_GTT);
+                                                       AMDGPU_GEM_DOMAIN_GTT |
+                                                       AMDGPU_GEM_DOMAIN_CPU);
                        abo->placements[0].fpfn = adev->gmc.visible_vram_size >> PAGE_SHIFT;
                        abo->placements[0].lpfn = 0;
                        abo->placement.busy_placement = &abo->placements[1];
                        abo->placement.num_busy_placement = 1;
                } else {
                        /* Move to GTT memory */
-                       amdgpu_bo_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_GTT);
+                       amdgpu_bo_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_GTT |
+                                                       AMDGPU_GEM_DOMAIN_CPU);
                }
                break;
        case TTM_PL_TT: