Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit afe6804c authored by Dave Airlie's avatar Dave Airlie Committed by Dave Airlie
Browse files

ttm: export functions to allow qxl do its own iomapping



qxl wants to use io mapping like i915 gem does, for now
just export the symbols so the driver can implement atomic
page maps using io mapping.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 97d10331
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@ int ttm_mem_io_lock(struct ttm_mem_type_manager *man, bool interruptible)
	mutex_lock(&man->io_reserve_mutex);
	return 0;
}
EXPORT_SYMBOL(ttm_mem_io_lock);

void ttm_mem_io_unlock(struct ttm_mem_type_manager *man)
{
@@ -94,6 +95,7 @@ void ttm_mem_io_unlock(struct ttm_mem_type_manager *man)

	mutex_unlock(&man->io_reserve_mutex);
}
EXPORT_SYMBOL(ttm_mem_io_unlock);

static int ttm_mem_io_evict(struct ttm_mem_type_manager *man)
{
@@ -111,7 +113,8 @@ static int ttm_mem_io_evict(struct ttm_mem_type_manager *man)
	return 0;
}

static int ttm_mem_io_reserve(struct ttm_bo_device *bdev,

int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
		       struct ttm_mem_reg *mem)
{
	struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type];
@@ -134,8 +137,9 @@ static int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
	}
	return ret;
}
EXPORT_SYMBOL(ttm_mem_io_reserve);

static void ttm_mem_io_free(struct ttm_bo_device *bdev,
void ttm_mem_io_free(struct ttm_bo_device *bdev,
		     struct ttm_mem_reg *mem)
{
	struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type];
@@ -149,6 +153,7 @@ static void ttm_mem_io_free(struct ttm_bo_device *bdev,
		bdev->driver->io_mem_free(bdev, mem);

}
EXPORT_SYMBOL(ttm_mem_io_free);

int ttm_mem_io_reserve_vm(struct ttm_buffer_object *bo)
{
+4 −0
Original line number Diff line number Diff line
@@ -902,6 +902,10 @@ extern void ttm_bo_unreserve_locked(struct ttm_buffer_object *bo);
 * ttm_bo_util.c
 */

int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
		       struct ttm_mem_reg *mem);
void ttm_mem_io_free(struct ttm_bo_device *bdev,
		     struct ttm_mem_reg *mem);
/**
 * ttm_bo_move_ttm
 *