drm/i915: Use 32bit read for BB_ADDR
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 10 Dec 2013 18:47:44 +0000 (20:47 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 11 Dec 2013 22:52:12 +0000 (23:52 +0100)
The BB_ADDR register is documented to be 32bits at least since SNB.
Prior to that the high 32bits were listed as MBZ, so using a 64bit read
doesn't seem worth anything. Also the simulator doesn't like the 64bit
read. So just switch to using a 32bit read instead.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gpu_error.c

index 79dcb8f896c6f34363e6bd62e90f1773bfcf8f0a..9a642921182baab7b5d74f0e198fa46bbec9aba9 100644 (file)
@@ -726,7 +726,7 @@ static void i915_record_ring_state(struct drm_device *dev,
                error->instdone[ring->id] = I915_READ(RING_INSTDONE(ring->mmio_base));
                error->instps[ring->id] = I915_READ(RING_INSTPS(ring->mmio_base));
                if (ring->id == RCS)
-                       error->bbaddr = I915_READ64(BB_ADDR);
+                       error->bbaddr = I915_READ(BB_ADDR);
                error->bbstate[ring->id] = I915_READ(RING_BBSTATE(ring->mmio_base));
        } else {
                error->faddr[ring->id] = I915_READ(DMA_FADD_I8XX);