Commit 98399abd authored by Dave Airlie's avatar Dave Airlie
Browse files
parent 5969793f
Loading
Loading
Loading
Loading
+0 −19
Original line number Diff line number Diff line
@@ -1527,25 +1527,6 @@ void ttm_mem_type_manager_init(struct ttm_bo_device *bdev,
}
EXPORT_SYMBOL(ttm_mem_type_manager_init);

int ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
		   unsigned long p_size)
{
	int ret;
	struct ttm_mem_type_manager *man;

	BUG_ON(type >= TTM_NUM_MEM_TYPES);
	ttm_mem_type_manager_init(bdev, &bdev->man[type], p_size);

	if (type != TTM_PL_SYSTEM) {
		ret = (*man->func->init)(man, p_size);
		if (ret)
			return ret;
	}
	ttm_mem_type_manager_set_used(man, true);
	return 0;
}
EXPORT_SYMBOL(ttm_bo_init_mm);

static void ttm_bo_global_kobj_release(struct kobject *kobj)
{
	struct ttm_bo_global *glob =
+10 −19
Original line number Diff line number Diff line
@@ -104,11 +104,18 @@ static void ttm_bo_man_put_node(struct ttm_mem_type_manager *man,
	}
}

static int ttm_bo_man_init_private(struct ttm_mem_type_manager *man,
static const struct ttm_mem_type_manager_func ttm_bo_manager_func;

int ttm_range_man_init(struct ttm_bo_device *bdev,
		       struct ttm_mem_type_manager *man,
		       unsigned long p_size)
{
	struct ttm_range_manager *rman;

	man->func = &ttm_bo_manager_func;

	ttm_mem_type_manager_init(bdev, man, p_size);

	rman = kzalloc(sizeof(*rman), GFP_KERNEL);
	if (!rman)
		return -ENOMEM;
@@ -116,21 +123,7 @@ static int ttm_bo_man_init_private(struct ttm_mem_type_manager *man,
	drm_mm_init(&rman->mm, 0, p_size);
	spin_lock_init(&rman->lock);
	man->priv = rman;
	return 0;
}

int ttm_range_man_init(struct ttm_bo_device *bdev,
		       struct ttm_mem_type_manager *man,
		       unsigned long p_size)
{
	int ret;

	man->func = &ttm_bo_manager_func;

	ttm_mem_type_manager_init(bdev, man, p_size);
	ret = ttm_bo_man_init_private(man, p_size);
	if (ret)
		return ret;
	ttm_mem_type_manager_set_used(man, true);
	return 0;
}
@@ -163,11 +156,9 @@ static void ttm_bo_man_debug(struct ttm_mem_type_manager *man,
	spin_unlock(&rman->lock);
}

const struct ttm_mem_type_manager_func ttm_bo_manager_func = {
	.init = ttm_bo_man_init_private,
static const struct ttm_mem_type_manager_func ttm_bo_manager_func = {
	.takedown = ttm_bo_man_takedown,
	.get_node = ttm_bo_man_get_node,
	.put_node = ttm_bo_man_put_node,
	.debug = ttm_bo_man_debug
};
EXPORT_SYMBOL(ttm_bo_manager_func);
+0 −18
Original line number Diff line number Diff line
@@ -546,24 +546,6 @@ void ttm_mem_type_manager_init(struct ttm_bo_device *bdev,
			       struct ttm_mem_type_manager *man,
			       unsigned long p_size);

/**
 * ttm_bo_init_mm
 *
 * @bdev: Pointer to a ttm_bo_device struct.
 * @mem_type: The memory type.
 * @p_size: size managed area in pages.
 *
 * Initialize a manager for a given memory type.
 * Note: if part of driver firstopen, it must be protected from a
 * potentially racing lastclose.
 * Returns:
 * -EINVAL: invalid size or memory type.
 * -ENOMEM: Not enough memory.
 * May also return driver-specified errors.
 */
int ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
		   unsigned long p_size);

/**
 * ttm_bo_clean_mm
 *
+0 −15
Original line number Diff line number Diff line
@@ -48,19 +48,6 @@
struct ttm_mem_type_manager;

struct ttm_mem_type_manager_func {
	/**
	 * struct ttm_mem_type_manager member init
	 *
	 * @man: Pointer to a memory type manager.
	 * @p_size: Implementation dependent, but typically the size of the
	 * range to be managed in pages.
	 *
	 * Called to initialize a private range manager. The function is
	 * expected to initialize the man::priv member.
	 * Returns 0 on success, negative error code on failure.
	 */
	int  (*init)(struct ttm_mem_type_manager *man, unsigned long p_size);

	/**
	 * struct ttm_mem_type_manager member takedown
	 *
@@ -833,8 +820,6 @@ int ttm_range_man_init(struct ttm_bo_device *bdev,
		       struct ttm_mem_type_manager *man,
		       unsigned long p_size);

extern const struct ttm_mem_type_manager_func ttm_bo_manager_func;

/**
 * ttm_mem_type_manager_debug
 *