diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2011-09-12 15:30:02 -0400 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-10-20 17:11:18 -0400 |
commit | 6dacfd2faa398dc5206523ae6a2f8dd037488de8 (patch) | |
tree | d6d092b37368311e7dc7740607479813d2ad377f | |
parent | acc83eb5a1e0ae7dbbf89ca2a1a943ade224bb84 (diff) |
drm/i915: simplify swapin/out swizzle checking a bit
Use the helper function already employed by the pwrite/pread
functions.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_tiling.c | 10 |
2 files changed, 2 insertions, 12 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index f0f885f44b87..d8e0c15c874f 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -1476,7 +1476,7 @@ i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj, | |||
1476 | obj->pages[i] = page; | 1476 | obj->pages[i] = page; |
1477 | } | 1477 | } |
1478 | 1478 | ||
1479 | if (obj->tiling_mode != I915_TILING_NONE) | 1479 | if (i915_gem_object_needs_bit17_swizzle(obj)) |
1480 | i915_gem_object_do_bit_17_swizzle(obj); | 1480 | i915_gem_object_do_bit_17_swizzle(obj); |
1481 | 1481 | ||
1482 | return 0; | 1482 | return 0; |
@@ -1498,7 +1498,7 @@ i915_gem_object_put_pages_gtt(struct drm_i915_gem_object *obj) | |||
1498 | 1498 | ||
1499 | BUG_ON(obj->madv == __I915_MADV_PURGED); | 1499 | BUG_ON(obj->madv == __I915_MADV_PURGED); |
1500 | 1500 | ||
1501 | if (obj->tiling_mode != I915_TILING_NONE) | 1501 | if (i915_gem_object_needs_bit17_swizzle(obj)) |
1502 | i915_gem_object_save_bit_17_swizzle(obj); | 1502 | i915_gem_object_save_bit_17_swizzle(obj); |
1503 | 1503 | ||
1504 | if (obj->madv == I915_MADV_DONTNEED) | 1504 | if (obj->madv == I915_MADV_DONTNEED) |
diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c index 103da6f2d03b..31d334d9d9da 100644 --- a/drivers/gpu/drm/i915/i915_gem_tiling.c +++ b/drivers/gpu/drm/i915/i915_gem_tiling.c | |||
@@ -443,14 +443,9 @@ i915_gem_swizzle_page(struct page *page) | |||
443 | void | 443 | void |
444 | i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj) | 444 | i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj) |
445 | { | 445 | { |
446 | struct drm_device *dev = obj->base.dev; | ||
447 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
448 | int page_count = obj->base.size >> PAGE_SHIFT; | 446 | int page_count = obj->base.size >> PAGE_SHIFT; |
449 | int i; | 447 | int i; |
450 | 448 | ||
451 | if (dev_priv->mm.bit_6_swizzle_x != I915_BIT_6_SWIZZLE_9_10_17) | ||
452 | return; | ||
453 | |||
454 | if (obj->bit_17 == NULL) | 449 | if (obj->bit_17 == NULL) |
455 | return; | 450 | return; |
456 | 451 | ||
@@ -467,14 +462,9 @@ i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj) | |||
467 | void | 462 | void |
468 | i915_gem_object_save_bit_17_swizzle(struct drm_i915_gem_object *obj) | 463 | i915_gem_object_save_bit_17_swizzle(struct drm_i915_gem_object *obj) |
469 | { | 464 | { |
470 | struct drm_device *dev = obj->base.dev; | ||
471 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
472 | int page_count = obj->base.size >> PAGE_SHIFT; | 465 | int page_count = obj->base.size >> PAGE_SHIFT; |
473 | int i; | 466 | int i; |
474 | 467 | ||
475 | if (dev_priv->mm.bit_6_swizzle_x != I915_BIT_6_SWIZZLE_9_10_17) | ||
476 | return; | ||
477 | |||
478 | if (obj->bit_17 == NULL) { | 468 | if (obj->bit_17 == NULL) { |
479 | obj->bit_17 = kmalloc(BITS_TO_LONGS(page_count) * | 469 | obj->bit_17 = kmalloc(BITS_TO_LONGS(page_count) * |
480 | sizeof(long), GFP_KERNEL); | 470 | sizeof(long), GFP_KERNEL); |