[PATCH 02/59] drm/vmwgfx: drop bo map/unmap dma functions.

daniel at ffwll.ch daniel at ffwll.ch
Wed Aug 5 07:59:26 UTC 2020


On Tue, Aug 04, 2020 at 12:55:35PM +1000, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
> 
> The map one was used once, just inline it, and drop them both.
> 
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  drivers/gpu/drm/vmwgfx/vmwgfx_drv.h        |  2 -
>  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 46 +++-------------------
>  2 files changed, 6 insertions(+), 42 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> index b7c763713b4c..65c414f119c0 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> @@ -1019,8 +1019,6 @@ extern struct ttm_placement vmw_mob_placement;
>  extern struct ttm_placement vmw_mob_ne_placement;
>  extern struct ttm_placement vmw_nonfixed_placement;
>  extern struct ttm_bo_driver vmw_bo_driver;
> -extern int vmw_bo_map_dma(struct ttm_buffer_object *bo);
> -extern void vmw_bo_unmap_dma(struct ttm_buffer_object *bo);
>  extern const struct vmw_sg_table *
>  vmw_bo_sg_table(struct ttm_buffer_object *bo);
>  extern int vmw_bo_create_and_populate(struct vmw_private *dev_priv,
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> index 8e2a82ded900..3a141a08d4bd 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> @@ -519,43 +519,6 @@ static void vmw_ttm_unmap_dma(struct vmw_ttm_tt *vmw_tt)
>  	vmw_tt->mapped = false;
>  }
>  
> -
> -/**
> - * vmw_bo_map_dma - Make sure buffer object pages are visible to the device
> - *
> - * @bo: Pointer to a struct ttm_buffer_object
> - *
> - * Wrapper around vmw_ttm_map_dma, that takes a TTM buffer object pointer
> - * instead of a pointer to a struct vmw_ttm_backend as argument.
> - * Note that the buffer object must be either pinned or reserved before
> - * calling this function.
> - */
> -int vmw_bo_map_dma(struct ttm_buffer_object *bo)
> -{
> -	struct vmw_ttm_tt *vmw_tt =
> -		container_of(bo->ttm, struct vmw_ttm_tt, dma_ttm.ttm);
> -
> -	return vmw_ttm_map_dma(vmw_tt);
> -}
> -
> -
> -/**
> - * vmw_bo_unmap_dma - Make sure buffer object pages are visible to the device
> - *
> - * @bo: Pointer to a struct ttm_buffer_object
> - *
> - * Wrapper around vmw_ttm_unmap_dma, that takes a TTM buffer object pointer
> - * instead of a pointer to a struct vmw_ttm_backend as argument.
> - */
> -void vmw_bo_unmap_dma(struct ttm_buffer_object *bo)
> -{
> -	struct vmw_ttm_tt *vmw_tt =
> -		container_of(bo->ttm, struct vmw_ttm_tt, dma_ttm.ttm);
> -
> -	vmw_ttm_unmap_dma(vmw_tt);
> -}
> -
> -
>  /**
>   * vmw_bo_sg_table - Return a struct vmw_sg_table object for a
>   * TTM buffer object
> @@ -839,9 +802,12 @@ int vmw_bo_create_and_populate(struct vmw_private *dev_priv,
>  
>  	ret = ttm_bo_reserve(bo, false, true, NULL);
>  	BUG_ON(ret != 0);
> -	ret = vmw_bo_driver.ttm_tt_populate(bo->ttm, &ctx);
> -	if (likely(ret == 0))
> -		ret = vmw_bo_map_dma(bo);
> +	ret = vmw_ttm_populate(bo->ttm, &ctx);

Snuck a replacement for a vfunc call with a direct all in here, maybe
mention that in the commit message.

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> +	if (likely(ret == 0)) {
> +		struct vmw_ttm_tt *vmw_tt =
> +			container_of(bo->ttm, struct vmw_ttm_tt, dma_ttm.ttm);
> +		ret = vmw_ttm_map_dma(vmw_tt);
> +	}
>  
>  	ttm_bo_unreserve(bo);
>  
> -- 
> 2.26.2
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list