diff options
author | Rob Clark <robdclark@gmail.com> | 2015-06-07 13:46:04 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2015-06-11 13:11:06 -0400 |
commit | 1a370be9ac51129e40b0ed7fa71d2b2b92bc47e5 (patch) | |
tree | 678bad05754937920c7d09fb66dd5a356ed9f172 /drivers/gpu/drm/msm/msm_gpu.h | |
parent | 56c2da8338d5cdfc0695eeed96ebe03cf2ac0321 (diff) | |
download | op-kernel-dev-1a370be9ac51129e40b0ed7fa71d2b2b92bc47e5.zip op-kernel-dev-1a370be9ac51129e40b0ed7fa71d2b2b92bc47e5.tar.gz |
drm/msm: restart queued submits after hang
Track the list of in-flight submits. If the gpu hangs, retire up to an
including the offending submit, and then re-submit the remainder. This
way, for concurrently running piglit tests (for example), one failing
test doesn't cause unrelated tests to fail simply because it's submit
was queued up after one that triggered a hang.
Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_gpu.h')
-rw-r--r-- | drivers/gpu/drm/msm/msm_gpu.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_gpu.h b/drivers/gpu/drm/msm/msm_gpu.h index 7b3ec21..2bbe85a 100644 --- a/drivers/gpu/drm/msm/msm_gpu.h +++ b/drivers/gpu/drm/msm/msm_gpu.h @@ -119,6 +119,8 @@ struct msm_gpu { struct timer_list hangcheck_timer; uint32_t hangcheck_fence; struct work_struct recover_work; + + struct list_head submit_list; }; static inline bool msm_gpu_active(struct msm_gpu *gpu) |