drm/i915: Drop the fudge warning on ring restart for ctg/elk
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 8 Aug 2019 07:41:52 +0000 (08:41 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 9 Aug 2019 14:23:20 +0000 (15:23 +0100)
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: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190808074207.18274-4-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_ringbuffer.c

index aa2f06b..78b4235 100644 (file)
@@ -644,6 +644,7 @@ static int xcs_resume(struct intel_engine_cs *engine)
 
        intel_uncore_forcewake_get(engine->uncore, FORCEWAKE_ALL);
 
+       /* WaClearRingBufHeadRegAtInit:ctg,elk */
        if (!stop_ring(engine)) {
                /* G45 ring initialization often fails to reset head to zero */
                DRM_DEBUG_DRIVER("%s head not reset to zero "
@@ -675,19 +676,16 @@ static int xcs_resume(struct intel_engine_cs *engine)
        intel_engine_reset_breadcrumbs(engine);
 
        /* 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
         * 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));
 
-       /* 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! */
        GEM_BUG_ON(!intel_ring_offset_valid(ring, ring->head));
        GEM_BUG_ON(!intel_ring_offset_valid(ring, ring->tail));