[PATCH 4/4] drm/vmwgfx: clean up vmw_move_notify
Alex Deucher
alexdeucher at gmail.com
Thu Feb 11 14:59:48 UTC 2021
On Thu, Feb 11, 2021 at 8:17 AM Christian König
<ckoenig.leichtzumerken at gmail.com> wrote:
>
> Instead of swapping bo->mem just give old and new as parameters.
>
> Also drop unused parameters and code.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
> drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 3 ++-
> drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 9 +++++---
> drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 26 +++++++---------------
> 3 files changed, 16 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> index e65b00f8336d..21a72fa7b9fd 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> @@ -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);
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
> index c3a724e37104..35f02958ee2c 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
> @@ -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);
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> index 63f10c865061..38801462134e 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> @@ -692,20 +692,19 @@ static int vmw_ttm_io_mem_reserve(struct ttm_device *bdev, struct ttm_resource *
> *
> * @bo: The TTM buffer object about to move.
> * @evict: Unused
Evict is removed now. Can be dropped from the documentation.
Alex
> - * @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 +735,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 +757,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 +770,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,
> };
> --
> 2.25.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list