Commit 4265accb authored by Dave Airlie's avatar Dave Airlie
Browse files

drm/ttm: make some inline helper functions for cleanup paths. (v2)



The disable path is just temporary for now, it will be dropped once has_type
is gone in a later patch.

v2: add docs.
rename to ttm_mem_type_manager namespace

Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarBen Skeggs <bskeggs@redhat.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-26-airlied@gmail.com
parent a006a3ce
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -1466,8 +1466,7 @@ int ttm_bo_clean_mm(struct ttm_bo_device *bdev, unsigned mem_type)
		return ret;
	}

	man->use_type = false;
	man->has_type = false;
	ttm_mem_type_manager_disable(man);

	ret = 0;
	if (mem_type > 0) {
@@ -1480,8 +1479,7 @@ int ttm_bo_clean_mm(struct ttm_bo_device *bdev, unsigned mem_type)
		ret = (*man->func->takedown)(man);
	}

	dma_fence_put(man->move);
	man->move = NULL;
	ttm_mem_type_manager_cleanup(man);

	return ret;
}
+26 −0
Original line number Diff line number Diff line
@@ -691,6 +691,32 @@ static inline void ttm_mem_type_manager_set_used(struct ttm_mem_type_manager *ma
	man->use_type = used;
}

/**
 * ttm_mem_type_manager_disable.
 *
 * @man: A memory manager object.
 *
 * Indicate the manager is not to be used and deregistered. (temporary during rework).
 */
static inline void ttm_mem_type_manager_disable(struct ttm_mem_type_manager *man)
{
	man->has_type = false;
	man->use_type = false;
}

/**
 * ttm_mem_type_manager_cleanup
 *
 * @man: A memory manager object.
 *
 * Cleanup the move fences from the memory manager object.
 */
static inline void ttm_mem_type_manager_cleanup(struct ttm_mem_type_manager *man)
{
	dma_fence_put(man->move);
	man->move = NULL;
}

/*
 * ttm_bo_util.c
 */