diff options
author | Rob Clark <robdclark@gmail.com> | 2015-06-07 20:46:04 +0300 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2015-06-11 20:11:06 +0300 |
commit | 1a370be9ac51129e40b0ed7fa71d2b2b92bc47e5 (patch) | |
tree | 678bad05754937920c7d09fb66dd5a356ed9f172 /drivers/gpu/drm/msm/msm_gem.h | |
parent | 56c2da8338d5cdfc0695eeed96ebe03cf2ac0321 (diff) | |
download | linux-1a370be9ac51129e40b0ed7fa71d2b2b92bc47e5.tar.xz |
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_gem.h')
-rw-r--r-- | drivers/gpu/drm/msm/msm_gem.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_gem.h b/drivers/gpu/drm/msm/msm_gem.h index 85d481e29276..6fc59bfeedeb 100644 --- a/drivers/gpu/drm/msm/msm_gem.h +++ b/drivers/gpu/drm/msm/msm_gem.h @@ -96,6 +96,7 @@ static inline uint32_t msm_gem_fence(struct msm_gem_object *msm_obj, struct msm_gem_submit { struct drm_device *dev; struct msm_gpu *gpu; + struct list_head node; /* node in gpu submit_list */ struct list_head bo_list; struct ww_acquire_ctx ticket; uint32_t fence; |