Rev 2330 | Rev 3031 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2330 | Rev 2342 | ||
---|---|---|---|
Line 108... | Line 108... | ||
108 | { |
108 | { |
109 | drm_i915_private_t *dev_priv = dev->dev_private; |
109 | drm_i915_private_t *dev_priv = dev->dev_private; |
110 | uint32_t swizzle_x = I915_BIT_6_SWIZZLE_UNKNOWN; |
110 | uint32_t swizzle_x = I915_BIT_6_SWIZZLE_UNKNOWN; |
111 | uint32_t swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN; |
111 | uint32_t swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN; |
Line 112... | Line 112... | ||
112 | 112 | ||
- | 113 | if (INTEL_INFO(dev)->gen >= 6) { |
|
- | 114 | swizzle_x = I915_BIT_6_SWIZZLE_NONE; |
|
- | 115 | swizzle_y = I915_BIT_6_SWIZZLE_NONE; |
|
113 | if (INTEL_INFO(dev)->gen >= 5) { |
116 | } else if (IS_GEN5(dev)) { |
114 | /* On Ironlake whatever DRAM config, GPU always do |
117 | /* On Ironlake whatever DRAM config, GPU always do |
115 | * same swizzling setup. |
118 | * same swizzling setup. |
116 | */ |
119 | */ |
117 | swizzle_x = I915_BIT_6_SWIZZLE_9_10; |
120 | swizzle_x = I915_BIT_6_SWIZZLE_9_10; |
Line 457... | Line 460... | ||
457 | } |
460 | } |
Line 458... | Line 461... | ||
458 | 461 | ||
459 | void |
462 | void |
460 | i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj) |
463 | i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj) |
461 | { |
- | |
462 | struct drm_device *dev = obj->base.dev; |
- | |
463 | drm_i915_private_t *dev_priv = dev->dev_private; |
464 | { |
464 | int page_count = obj->base.size >> PAGE_SHIFT; |
465 | int page_count = obj->base.size >> PAGE_SHIFT; |
Line 465... | Line -... | ||
465 | int i; |
- | |
466 | - | ||
467 | if (dev_priv->mm.bit_6_swizzle_x != I915_BIT_6_SWIZZLE_9_10_17) |
- | |
468 | return; |
466 | int i; |
469 | 467 | ||
Line 470... | Line 468... | ||
470 | if (obj->bit_17 == NULL) |
468 | if (obj->bit_17 == NULL) |
471 | return; |
469 | return; |
Line 481... | Line 479... | ||
481 | } |
479 | } |
Line 482... | Line 480... | ||
482 | 480 | ||
483 | void |
481 | void |
484 | i915_gem_object_save_bit_17_swizzle(struct drm_i915_gem_object *obj) |
482 | i915_gem_object_save_bit_17_swizzle(struct drm_i915_gem_object *obj) |
485 | { |
- | |
486 | struct drm_device *dev = obj->base.dev; |
- | |
487 | drm_i915_private_t *dev_priv = dev->dev_private; |
483 | { |
488 | int page_count = obj->base.size >> PAGE_SHIFT; |
484 | int page_count = obj->base.size >> PAGE_SHIFT; |
Line 489... | Line -... | ||
489 | int i; |
- | |
490 | - | ||
491 | if (dev_priv->mm.bit_6_swizzle_x != I915_BIT_6_SWIZZLE_9_10_17) |
- | |
492 | return; |
485 | int i; |
493 | 486 | ||
494 | if (obj->bit_17 == NULL) { |
487 | if (obj->bit_17 == NULL) { |
495 | obj->bit_17 = kmalloc(BITS_TO_LONGS(page_count) * |
488 | obj->bit_17 = kmalloc(BITS_TO_LONGS(page_count) * |
496 | sizeof(long), GFP_KERNEL); |
489 | sizeof(long), GFP_KERNEL); |