Subversion Repositories Kolibri OS

Rev

Rev 2330 | Rev 3031 | Go to most recent revision | Show entire file | Regard 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);