Commit 6cf9dc23 authored by Christian König's avatar Christian König
Browse files

drm/vmwgfx: clean up vmw_move_notify v2



Instead of swapping bo->mem just give old and new as parameters.

Also drop unused parameters and code.

v2: cleanup stale documentation as well.

Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210315191432.153826-3-christian.koenig@amd.com
parent 5ea143c3
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -775,7 +775,8 @@ extern void vmw_resource_unreserve(struct vmw_resource *res,
				   struct vmw_buffer_object *new_backup,
				   unsigned long new_backup_offset);
extern void vmw_query_move_notify(struct ttm_buffer_object *bo,
				  struct ttm_resource *mem);
				  struct ttm_resource *old_mem,
				  struct ttm_resource *new_mem);
extern int vmw_query_readback_all(struct vmw_buffer_object *dx_query_mob);
extern void vmw_resource_evict_all(struct vmw_private *dev_priv);
extern void vmw_resource_unbind_list(struct vmw_buffer_object *vbo);
+6 −3
Original line number Diff line number Diff line
@@ -847,13 +847,15 @@ int vmw_query_readback_all(struct vmw_buffer_object *dx_query_mob)
 * vmw_query_move_notify - Read back cached query states
 *
 * @bo: The TTM buffer object about to move.
 * @mem: The memory region @bo is moving to.
 * @old_mem: The memory region @bo is moving from.
 * @new_mem: The memory region @bo is moving to.
 *
 * Called before the query MOB is swapped out to read back cached query
 * states from the device.
 */
void vmw_query_move_notify(struct ttm_buffer_object *bo,
			   struct ttm_resource *mem)
			   struct ttm_resource *old_mem,
			   struct ttm_resource *new_mem)
{
	struct vmw_buffer_object *dx_query_mob;
	struct ttm_device *bdev = bo->bdev;
@@ -871,7 +873,8 @@ void vmw_query_move_notify(struct ttm_buffer_object *bo,
	}

	/* If BO is being moved from MOB to system memory */
	if (mem->mem_type == TTM_PL_SYSTEM && bo->mem.mem_type == VMW_PL_MOB) {
	if (new_mem->mem_type == TTM_PL_SYSTEM &&
	    old_mem->mem_type == VMW_PL_MOB) {
		struct vmw_fence_obj *fence;

		(void) vmw_query_readback_all(dx_query_mob);
+8 −19
Original line number Diff line number Diff line
@@ -691,21 +691,19 @@ static int vmw_ttm_io_mem_reserve(struct ttm_device *bdev, struct ttm_resource *
 * vmw_move_notify - TTM move_notify_callback
 *
 * @bo: The TTM buffer object about to move.
 * @evict: Unused
 * @mem: The struct ttm_resource indicating to what memory
 * @old_mem: The old memory where we move from
 * @new_mem: The struct ttm_resource indicating to what memory
 *       region the move is taking place.
 *
 * Calls move_notify for all subsystems needing it.
 * (currently only resources).
 */
static void vmw_move_notify(struct ttm_buffer_object *bo,
			    bool evict,
			    struct ttm_resource *mem)
			    struct ttm_resource *old_mem,
			    struct ttm_resource *new_mem)
{
	if (!mem)
		return;
	vmw_bo_move_notify(bo, mem);
	vmw_query_move_notify(bo, mem);
	vmw_bo_move_notify(bo, new_mem);
	vmw_query_move_notify(bo, old_mem, new_mem);
}


@@ -736,7 +734,7 @@ static int vmw_move(struct ttm_buffer_object *bo,
			return ret;
	}

	vmw_move_notify(bo, evict, new_mem);
	vmw_move_notify(bo, &bo->mem, new_mem);

	if (old_man->use_tt && new_man->use_tt) {
		if (bo->mem.mem_type == TTM_PL_SYSTEM) {
@@ -758,18 +756,10 @@ static int vmw_move(struct ttm_buffer_object *bo,
	}
	return 0;
fail:
	swap(*new_mem, bo->mem);
	vmw_move_notify(bo, false, new_mem);
	swap(*new_mem, bo->mem);
	vmw_move_notify(bo, new_mem, &bo->mem);
	return ret;
}

static void
vmw_delete_mem_notify(struct ttm_buffer_object *bo)
{
	vmw_move_notify(bo, false, NULL);
}

struct ttm_device_funcs vmw_bo_driver = {
	.ttm_tt_create = &vmw_ttm_tt_create,
	.ttm_tt_populate = &vmw_ttm_populate,
@@ -779,7 +769,6 @@ struct ttm_device_funcs vmw_bo_driver = {
	.evict_flags = vmw_evict_flags,
	.move = vmw_move,
	.verify_access = vmw_verify_access,
	.delete_mem_notify = vmw_delete_mem_notify,
	.swap_notify = vmw_swap_notify,
	.io_mem_reserve = &vmw_ttm_io_mem_reserve,
};