mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-19 00:54:41 +08:00
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>
This commit is contained in:
parent
8c1812ad48
commit
27153f72d0
@ -899,7 +899,7 @@ static int blt_ring_init(struct intel_ring_buffer *ring)
|
|||||||
{
|
{
|
||||||
if (NEED_BLT_WORKAROUND(ring->dev)) {
|
if (NEED_BLT_WORKAROUND(ring->dev)) {
|
||||||
struct drm_i915_gem_object *obj;
|
struct drm_i915_gem_object *obj;
|
||||||
u32 __iomem *ptr;
|
u32 *ptr;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
obj = to_intel_bo(i915_gem_alloc_object(ring->dev, 4096));
|
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]);
|
ptr = kmap(obj->pages[0]);
|
||||||
iowrite32(MI_BATCH_BUFFER_END, ptr);
|
*ptr++ = MI_BATCH_BUFFER_END;
|
||||||
iowrite32(MI_NOOP, ptr+1);
|
*ptr++ = MI_NOOP;
|
||||||
kunmap(obj->pages[0]);
|
kunmap(obj->pages[0]);
|
||||||
|
|
||||||
ret = i915_gem_object_set_to_gtt_domain(&obj->base, false);
|
ret = i915_gem_object_set_to_gtt_domain(&obj->base, false);
|
||||||
|
Loading…
Reference in New Issue
Block a user