Am 06.04.2016 um 18:06 schrieb Sinclair Yeh: > I don't know much about AMD gpu. Patches 1-6 look good to me.
Does that count as a Reviewed-by or at least Acked-by? Thanks for taking a look, Christian. > > > 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