summaryrefslogtreecommitdiff
path: root/include/drm/ttm/ttm_bo_driver.h
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2016-08-30 18:26:04 +0300
committerAlex Deucher <alexander.deucher@amd.com>2016-10-25 21:44:04 +0300
commita2ab19fed9d1dc5a7a2ced44f4b289885c522a8f (patch)
treeb70e33cd46fa454908bd0c6cae903fe562ef9c7c /include/drm/ttm/ttm_bo_driver.h
parent585ffd65441a4aea7e762d17f7a248d07cd1c9ac (diff)
downloadlinux-a2ab19fed9d1dc5a7a2ced44f4b289885c522a8f.tar.xz
drm/ttm: make eviction decision a driver callback v2
This way the driver can decide if it is valuable to evict a BO or not. The current implementation is added as default to all existing drivers. v2: fix some typos found during internal testing Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'include/drm/ttm/ttm_bo_driver.h')
-rw-r--r--include/drm/ttm/ttm_bo_driver.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
index 7a76663d4045..d3d83dfe89e2 100644
--- a/include/drm/ttm/ttm_bo_driver.h
+++ b/include/drm/ttm/ttm_bo_driver.h
@@ -374,6 +374,18 @@ struct ttm_bo_driver {
int (*invalidate_caches)(struct ttm_bo_device *bdev, uint32_t flags);
int (*init_mem_type)(struct ttm_bo_device *bdev, uint32_t type,
struct ttm_mem_type_manager *man);
+
+ /**
+ * struct ttm_bo_driver member eviction_valuable
+ *
+ * @bo: the buffer object to be evicted
+ * @place: placement we need room for
+ *
+ * Check with the driver if it is valuable to evict a BO to make room
+ * for a certain placement.
+ */
+ bool (*eviction_valuable)(struct ttm_buffer_object *bo,
+ const struct ttm_place *place);
/**
* struct ttm_bo_driver member evict_flags:
*