]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
drm/ttm: stop destroying pinned ghost object
authorChristian König <christian.koenig@amd.com>
Tue, 1 Dec 2020 13:27:34 +0000 (14:27 +0100)
committerChristian König <christian.koenig@amd.com>
Tue, 1 Dec 2020 19:23:18 +0000 (20:23 +0100)
Daniel added a warning for this, but we were abusing that behavior here.

Signed-off-by: Christian König <christian.koenig@amd.com>
Fixes: 57fcd550eb15 ("drm/ttm: Warn on pinning without holding a reference")
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/series/84456/
drivers/gpu/drm/ttm/ttm_bo_util.c

index 7ccb2295cac1a31226f3b85c6075808d27e21aa3..5bbc1339d28e27f07bd5b6d3cde8394ed79eefa2 100644 (file)
@@ -310,7 +310,7 @@ static int ttm_buffer_object_transfer(struct ttm_buffer_object *bo,
        kref_init(&fbo->base.kref);
        fbo->base.destroy = &ttm_transfered_destroy;
        fbo->base.acc_size = 0;
-       fbo->base.pin_count = 1;
+       fbo->base.pin_count = 0;
        if (bo->type != ttm_bo_type_sg)
                fbo->base.base.resv = &fbo->base.base._resv;
 
@@ -319,6 +319,8 @@ static int ttm_buffer_object_transfer(struct ttm_buffer_object *bo,
        ret = dma_resv_trylock(&fbo->base.base._resv);
        WARN_ON(!ret);
 
+       ttm_bo_move_to_lru_tail_unlocked(&fbo->base);
+
        *new_obj = &fbo->base;
        return 0;
 }