summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/adreno/adreno_gpu.c
diff options
context:
space:
mode:
authorRob Clark2016-03-17 15:18:38 +0100
committerRob Clark2016-05-08 16:22:15 +0200
commit2755734390c18ca33d9755c9caa2685567563c19 (patch)
tree8d17a4066d0c04fb60763d4617990ad6572664dc /drivers/gpu/drm/msm/adreno/adreno_gpu.c
parentdrm/msm: 'struct fence' conversion (diff)
downloadkernel-qcow2-linux-2755734390c18ca33d9755c9caa2685567563c19.tar.gz
kernel-qcow2-linux-2755734390c18ca33d9755c9caa2685567563c19.tar.xz
kernel-qcow2-linux-2755734390c18ca33d9755c9caa2685567563c19.zip
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 <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm/adreno/adreno_gpu.c')
-rw-r--r--drivers/gpu/drm/msm/adreno/adreno_gpu.c4
1 files 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 95aed377b933..1d5a714d24a6 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;