[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