[PATCH 44/59] drm/ttm: allow drivers to provide their own manager subclasses
Dave Airlie
airlied at gmail.com
Tue Aug 4 02:56:17 UTC 2020
From: Dave Airlie <airlied at redhat.com>
This will get removed eventually and all drivers will use this.
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
include/drm/ttm/ttm_bo_driver.h | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
index 03b253d14e6a..6940d85a531a 100644
--- a/include/drm/ttm/ttm_bo_driver.h
+++ b/include/drm/ttm/ttm_bo_driver.h
@@ -419,7 +419,7 @@ struct ttm_bo_device {
* access via ttm_manager_type.
*/
struct ttm_mem_type_manager man_priv[TTM_NUM_MEM_TYPES];
-
+ struct ttm_mem_type_manager *man_drv[TTM_NUM_MEM_TYPES];
/*
* Protected by internal locks.
*/
@@ -450,9 +450,18 @@ struct ttm_bo_device {
static inline struct ttm_mem_type_manager *ttm_manager_type(struct ttm_bo_device *bdev,
int mem_type)
{
+ if (bdev->man_drv[mem_type])
+ return bdev->man_drv[mem_type];
return &bdev->man_priv[mem_type];
}
+static inline void ttm_set_driver_manager(struct ttm_bo_device *bdev,
+ int type,
+ struct ttm_mem_type_manager *manager)
+{
+ bdev->man_drv[type] = manager;
+}
+
/**
* struct ttm_lru_bulk_move_pos
*
--
2.26.2
More information about the dri-devel
mailing list