[PATCH 1/7] drm/ttm: don't wait for BO on initial allocation

Sinclair Yeh syeh at vmware.com
Wed Apr 6 16:06:34 UTC 2016


I don't know much about AMD gpu.  Patches 1-6 look good to me.


On Wed, Apr 06, 2016 at 11:12:02AM +0200, Christian König wrote:
> From: Christian König <christian.koenig at amd.com>
> 
> When we use an extern reservation object that otherwise waits for every
> fence registered with it.
> 
> Signed-off-by: Christian König <christian.koenig at amd.com>
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>  drivers/gpu/drm/ttm/ttm_bo.c | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index 4cbf265..367b87b 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -998,13 +998,19 @@ static int ttm_bo_move_buffer(struct ttm_buffer_object *bo,
>  	lockdep_assert_held(&bo->resv->lock.base);
>  
>  	/*
> -	 * FIXME: It's possible to pipeline buffer moves.
> -	 * Have the driver move function wait for idle when necessary,
> -	 * instead of doing it here.
> +	 * Don't wait for the BO on initial allocation. This is important when
> +	 * the BO has an imported reservation object.
>  	 */
> -	ret = ttm_bo_wait(bo, false, interruptible, no_wait_gpu);
> -	if (ret)
> -		return ret;
> +	if (bo->mem.mem_type != TTM_PL_SYSTEM || bo->ttm != NULL) {
> +		/*
> +		 * FIXME: It's possible to pipeline buffer moves.
> +		 * Have the driver move function wait for idle when necessary,
> +		 * instead of doing it here.
> +		 */
> +		ret = ttm_bo_wait(bo, false, interruptible, no_wait_gpu);
> +		if (ret)
> +			return ret;
> +	}
>  	mem.num_pages = bo->num_pages;
>  	mem.size = mem.num_pages << PAGE_SHIFT;
>  	mem.page_alignment = bo->mem.page_alignment;
> -- 
> 2.5.0
> 
> _______________________________________________
> 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