Commit 31483107 authored by Chris Wilson's avatar Chris Wilson

drm/i915: Drop the fudge warning on ring restart for ctg/elk

Since we have already stopped the ring, cleared the ring, disabled the
ring (and verifying the ring is clear), a later debug message that the
ring is no longer clear serves no function. It appears it restarts
anyway, and we verify that the ring started correctly afterwards.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Acked-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190808074207.18274-4-chris@chris-wilson.co.uk
parent 1a07e86c
...@@ -644,6 +644,7 @@ static int xcs_resume(struct intel_engine_cs *engine) ...@@ -644,6 +644,7 @@ static int xcs_resume(struct intel_engine_cs *engine)
intel_uncore_forcewake_get(engine->uncore, FORCEWAKE_ALL); intel_uncore_forcewake_get(engine->uncore, FORCEWAKE_ALL);
/* WaClearRingBufHeadRegAtInit:ctg,elk */
if (!stop_ring(engine)) { if (!stop_ring(engine)) {
/* G45 ring initialization often fails to reset head to zero */ /* G45 ring initialization often fails to reset head to zero */
DRM_DEBUG_DRIVER("%s head not reset to zero " DRM_DEBUG_DRIVER("%s head not reset to zero "
...@@ -675,19 +676,16 @@ static int xcs_resume(struct intel_engine_cs *engine) ...@@ -675,19 +676,16 @@ static int xcs_resume(struct intel_engine_cs *engine)
intel_engine_reset_breadcrumbs(engine); intel_engine_reset_breadcrumbs(engine);
/* Enforce ordering by reading HEAD register back */ /* Enforce ordering by reading HEAD register back */
ENGINE_READ(engine, RING_HEAD); ENGINE_POSTING_READ(engine, RING_HEAD);
/* Initialize the ring. This must happen _after_ we've cleared the ring /*
* Initialize the ring. This must happen _after_ we've cleared the ring
* registers with the above sequence (the readback of the HEAD registers * registers with the above sequence (the readback of the HEAD registers
* also enforces ordering), otherwise the hw might lose the new ring * also enforces ordering), otherwise the hw might lose the new ring
* register values. */ * register values.
*/
ENGINE_WRITE(engine, RING_START, i915_ggtt_offset(ring->vma)); ENGINE_WRITE(engine, RING_START, i915_ggtt_offset(ring->vma));
/* WaClearRingBufHeadRegAtInit:ctg,elk */
if (ENGINE_READ(engine, RING_HEAD))
DRM_DEBUG_DRIVER("%s initialization failed [head=%08x], fudging\n",
engine->name, ENGINE_READ(engine, RING_HEAD));
/* Check that the ring offsets point within the ring! */ /* Check that the ring offsets point within the ring! */
GEM_BUG_ON(!intel_ring_offset_valid(ring, ring->head)); GEM_BUG_ON(!intel_ring_offset_valid(ring, ring->head));
GEM_BUG_ON(!intel_ring_offset_valid(ring, ring->tail)); GEM_BUG_ON(!intel_ring_offset_valid(ring, ring->tail));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment