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: Christian König <christian.koenig@amd.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210315191432.153826-3-christian.koenig@amd.com
This commit is contained in:
parent
5ea143c38e
commit
6cf9dc238c
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user