Browse Source

drm/i915: Drop the iomem accessors when writing to the kmapped blt batch

I presumed that we would be writing to the batch through the GTT having
bound it, so I converted it to use iomem. Even later as I spotted that
we didn't even move the batch to the GTT (now an issue since we default
to uncached memory on SNB) I still didn't realise that using iomem for
kmapped memory was incorrect. Fix it.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chris Wilson 14 years ago
parent
commit
27153f72d0
1 changed files with 3 additions and 3 deletions
  1. 3 3
      drivers/gpu/drm/i915/intel_ringbuffer.c

+ 3 - 3
drivers/gpu/drm/i915/intel_ringbuffer.c

@@ -899,7 +899,7 @@ static int blt_ring_init(struct intel_ring_buffer *ring)
 {
 	if (NEED_BLT_WORKAROUND(ring->dev)) {
 		struct drm_i915_gem_object *obj;
-		u32 __iomem *ptr;
+		u32 *ptr;
 		int ret;
 
 		obj = to_intel_bo(i915_gem_alloc_object(ring->dev, 4096));
@@ -913,8 +913,8 @@ static int blt_ring_init(struct intel_ring_buffer *ring)
 		}
 
 		ptr = kmap(obj->pages[0]);
-		iowrite32(MI_BATCH_BUFFER_END, ptr);
-		iowrite32(MI_NOOP, ptr+1);
+		*ptr++ = MI_BATCH_BUFFER_END;
+		*ptr++ = MI_NOOP;
 		kunmap(obj->pages[0]);
 
 		ret = i915_gem_object_set_to_gtt_domain(&obj->base, false);