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 | talos-op-linux-1a370be9ac51129e40b0ed7fa71d2b2b92bc47e5.tar.gz talos-op-linux-1a370be9ac51129e40b0ed7fa71d2b2b92bc47e5.zip |
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 7b3ec21d5d77..2bbe85a3d6f6 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) |