[PATCH 02/28] ilk-ci-hax
Chris Wilson
chris at chris-wilson.co.uk
Sat Apr 22 22:19:04 UTC 2017
---
drivers/gpu/drm/i915/i915_gem_request.c | 9 ++++++++-
drivers/gpu/drm/i915/intel_breadcrumbs.c | 5 +++--
drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +++++
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_request.c b/drivers/gpu/drm/i915/i915_gem_request.c
index 5f5d59352428..2a0597dfae0e 100644
--- a/drivers/gpu/drm/i915/i915_gem_request.c
+++ b/drivers/gpu/drm/i915/i915_gem_request.c
@@ -213,6 +213,11 @@ static int reset_all_global_seqno(struct drm_i915_private *i915, u32 seqno)
cond_resched();
}
+ DRM_DEBUG_DRIVER("%s: wrapping from %x to %x\n",
+ engine->name,
+ intel_engine_get_seqno(engine),
+ seqno);
+
/* Finally reset hw state */
intel_engine_init_global_seqno(engine, seqno);
tl->seqno = seqno;
@@ -423,7 +428,9 @@ void __i915_gem_request_submit(struct drm_i915_gem_request *request)
seqno = timeline_get_seqno(timeline);
GEM_BUG_ON(!seqno);
- GEM_BUG_ON(i915_seqno_passed(intel_engine_get_seqno(engine), seqno));
+ WARN_ONCE(i915_seqno_passed(intel_engine_get_seqno(engine), seqno),
+ "%s: seqno went backwards! next=%x, engine=%x\n",
+ engine->name, seqno, intel_engine_get_seqno(engine));
/* We may be recursing from the signal callback of another i915 fence */
spin_lock_nested(&request->lock, SINGLE_DEPTH_NESTING);
diff --git a/drivers/gpu/drm/i915/intel_breadcrumbs.c b/drivers/gpu/drm/i915/intel_breadcrumbs.c
index 9ccbf26124c6..84a826a8ecdf 100644
--- a/drivers/gpu/drm/i915/intel_breadcrumbs.c
+++ b/drivers/gpu/drm/i915/intel_breadcrumbs.c
@@ -64,10 +64,11 @@ static unsigned long wait_timeout(void)
static noinline void missed_breadcrumb(struct intel_engine_cs *engine)
{
- DRM_DEBUG_DRIVER("%s missed breadcrumb at %pF, irq posted? %s\n",
+ DRM_DEBUG_DRIVER("%s missed breadcrumb at %pF, irq posted? %s, current seqno=%x\n",
engine->name, __builtin_return_address(0),
yesno(test_bit(ENGINE_IRQ_BREADCRUMB,
- &engine->irq_posted)));
+ &engine->irq_posted)),
+ intel_engine_get_seqno(engine));
set_bit(engine->id, &engine->i915->gpu_error.missed_irq_rings);
}
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index c8f8fa562be4..2805830a687f 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -617,6 +617,11 @@ static void reset_ring_common(struct intel_engine_cs *engine,
} else {
engine->legacy_active_context = NULL;
}
+
+ DRM_DEBUG_DRIVER("%s: resuming %s ring, head=%x, tail=%x\n",
+ engine->name,
+ request ? request->fence.error == -EIO ? "guilty" : "innocent" : "idle",
+ engine->buffer->head, engine->buffer->tail);
}
static int intel_rcs_ctx_init(struct drm_i915_gem_request *req)
--
2.11.0
More information about the Intel-gfx-trybot
mailing list