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>
This commit is contained in:
parent
acc83eb5a1
commit
6dacfd2faa
|
@ -1476,7 +1476,7 @@ i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj,
|
||||||
obj->pages[i] = page;
|
obj->pages[i] = page;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (obj->tiling_mode != I915_TILING_NONE)
|
if (i915_gem_object_needs_bit17_swizzle(obj))
|
||||||
i915_gem_object_do_bit_17_swizzle(obj);
|
i915_gem_object_do_bit_17_swizzle(obj);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1498,7 +1498,7 @@ i915_gem_object_put_pages_gtt(struct drm_i915_gem_object *obj)
|
||||||
|
|
||||||
BUG_ON(obj->madv == __I915_MADV_PURGED);
|
BUG_ON(obj->madv == __I915_MADV_PURGED);
|
||||||
|
|
||||||
if (obj->tiling_mode != I915_TILING_NONE)
|
if (i915_gem_object_needs_bit17_swizzle(obj))
|
||||||
i915_gem_object_save_bit_17_swizzle(obj);
|
i915_gem_object_save_bit_17_swizzle(obj);
|
||||||
|
|
||||||
if (obj->madv == I915_MADV_DONTNEED)
|
if (obj->madv == I915_MADV_DONTNEED)
|
||||||
|
|
|
@ -443,14 +443,9 @@ i915_gem_swizzle_page(struct page *page)
|
||||||
void
|
void
|
||||||
i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj)
|
i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj)
|
||||||
{
|
{
|
||||||
struct drm_device *dev = obj->base.dev;
|
|
||||||
drm_i915_private_t *dev_priv = dev->dev_private;
|
|
||||||
int page_count = obj->base.size >> PAGE_SHIFT;
|
int page_count = obj->base.size >> PAGE_SHIFT;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (dev_priv->mm.bit_6_swizzle_x != I915_BIT_6_SWIZZLE_9_10_17)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (obj->bit_17 == NULL)
|
if (obj->bit_17 == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -467,14 +462,9 @@ i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj)
|
||||||
void
|
void
|
||||||
i915_gem_object_save_bit_17_swizzle(struct drm_i915_gem_object *obj)
|
i915_gem_object_save_bit_17_swizzle(struct drm_i915_gem_object *obj)
|
||||||
{
|
{
|
||||||
struct drm_device *dev = obj->base.dev;
|
|
||||||
drm_i915_private_t *dev_priv = dev->dev_private;
|
|
||||||
int page_count = obj->base.size >> PAGE_SHIFT;
|
int page_count = obj->base.size >> PAGE_SHIFT;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (dev_priv->mm.bit_6_swizzle_x != I915_BIT_6_SWIZZLE_9_10_17)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (obj->bit_17 == NULL) {
|
if (obj->bit_17 == NULL) {
|
||||||
obj->bit_17 = kmalloc(BITS_TO_LONGS(page_count) *
|
obj->bit_17 = kmalloc(BITS_TO_LONGS(page_count) *
|
||||||
sizeof(long), GFP_KERNEL);
|
sizeof(long), GFP_KERNEL);
|
||||||
|
|
Loading…
Reference in New Issue