From 2755734390c18ca33d9755c9caa2685567563c19 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 17 Mar 2016 10:18:38 -0400 Subject: [PATCH] drm/msm: fix ->last_fence() after recover It is no longer true that we discard all in-flight submits on recover (these days we only discard the first one that hung). After the first re-submitted batch completes it would overwrite the fence with a correct value, but there would be a window of time which showed all re-submitted batches as already complete. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c index 95aed37..1d5a714 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -120,8 +120,8 @@ void adreno_recover(struct msm_gpu *gpu) /* reset ringbuffer: */ gpu->rb->cur = gpu->rb->start; - /* reset completed fence seqno, just discard anything pending: */ - adreno_gpu->memptrs->fence = gpu->fctx->last_fence; + /* reset completed fence seqno: */ + adreno_gpu->memptrs->fence = gpu->fctx->completed_fence; adreno_gpu->memptrs->rptr = 0; adreno_gpu->memptrs->wptr = 0; -- 2.7.4