diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_tiling.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_tiling.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c index 99c4faa59d8f..31d334d9d9da 100644 --- a/drivers/gpu/drm/i915/i915_gem_tiling.c +++ b/drivers/gpu/drm/i915/i915_gem_tiling.c | |||
@@ -92,7 +92,10 @@ i915_gem_detect_bit_6_swizzle(struct drm_device *dev) | |||
92 | uint32_t swizzle_x = I915_BIT_6_SWIZZLE_UNKNOWN; | 92 | uint32_t swizzle_x = I915_BIT_6_SWIZZLE_UNKNOWN; |
93 | uint32_t swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN; | 93 | uint32_t swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN; |
94 | 94 | ||
95 | if (INTEL_INFO(dev)->gen >= 5) { | 95 | if (INTEL_INFO(dev)->gen >= 6) { |
96 | swizzle_x = I915_BIT_6_SWIZZLE_NONE; | ||
97 | swizzle_y = I915_BIT_6_SWIZZLE_NONE; | ||
98 | } else if (IS_GEN5(dev)) { | ||
96 | /* On Ironlake whatever DRAM config, GPU always do | 99 | /* On Ironlake whatever DRAM config, GPU always do |
97 | * same swizzling setup. | 100 | * same swizzling setup. |
98 | */ | 101 | */ |
@@ -440,14 +443,9 @@ i915_gem_swizzle_page(struct page *page) | |||
440 | void | 443 | void |
441 | 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) |
442 | { | 445 | { |
443 | struct drm_device *dev = obj->base.dev; | ||
444 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
445 | int page_count = obj->base.size >> PAGE_SHIFT; | 446 | int page_count = obj->base.size >> PAGE_SHIFT; |
446 | int i; | 447 | int i; |
447 | 448 | ||
448 | if (dev_priv->mm.bit_6_swizzle_x != I915_BIT_6_SWIZZLE_9_10_17) | ||
449 | return; | ||
450 | |||
451 | if (obj->bit_17 == NULL) | 449 | if (obj->bit_17 == NULL) |
452 | return; | 450 | return; |
453 | 451 | ||
@@ -464,14 +462,9 @@ i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj) | |||
464 | void | 462 | void |
465 | 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) |
466 | { | 464 | { |
467 | struct drm_device *dev = obj->base.dev; | ||
468 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
469 | int page_count = obj->base.size >> PAGE_SHIFT; | 465 | int page_count = obj->base.size >> PAGE_SHIFT; |
470 | int i; | 466 | int i; |
471 | 467 | ||
472 | if (dev_priv->mm.bit_6_swizzle_x != I915_BIT_6_SWIZZLE_9_10_17) | ||
473 | return; | ||
474 | |||
475 | if (obj->bit_17 == NULL) { | 468 | if (obj->bit_17 == NULL) { |
476 | obj->bit_17 = kmalloc(BITS_TO_LONGS(page_count) * | 469 | obj->bit_17 = kmalloc(BITS_TO_LONGS(page_count) * |
477 | sizeof(long), GFP_KERNEL); | 470 | sizeof(long), GFP_KERNEL); |