Make each buffer object aware of whether it has been evicted or not. Signed-off-by: Friedrich Vock <friedrich.vock@xxxxxx> --- drivers/gpu/drm/ttm/ttm_bo.c | 1 + include/drm/ttm/ttm_bo.h | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index edf10618fe2b2..3968b17453569 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -980,6 +980,7 @@ int ttm_bo_init_reserved(struct ttm_device *bdev, struct ttm_buffer_object *bo, bo->pin_count = 0; bo->sg = sg; bo->bulk_move = NULL; + bo->evicted_type = TTM_NUM_MEM_TYPES; if (resv) bo->base.resv = resv; else diff --git a/include/drm/ttm/ttm_bo.h b/include/drm/ttm/ttm_bo.h index 0223a41a64b24..8a1a29c6fbc50 100644 --- a/include/drm/ttm/ttm_bo.h +++ b/include/drm/ttm/ttm_bo.h @@ -121,6 +121,17 @@ struct ttm_buffer_object { unsigned priority; unsigned pin_count; + /** + * @evicted_type: Memory type this BO was evicted from, if any. + * TTM_NUM_MEM_TYPES if this BO was not evicted. + */ + int evicted_type; + /** + * @evicted: Entry in the evicted list for the resource manager + * this BO was evicted from. + */ + struct list_head evicted; + /** * @delayed_delete: Work item used when we can't delete the BO * immediately -- 2.44.0