|
@@ -4612,7 +4612,7 @@ void i915_gem_vma_destroy(struct i915_vma *vma)
|
|
|
|
|
|
list_del(&vma->vma_link);
|
|
list_del(&vma->vma_link);
|
|
|
|
|
|
- kfree(vma);
|
|
|
|
|
|
+ kmem_cache_free(to_i915(vma->obj->base.dev)->vmas, vma);
|
|
}
|
|
}
|
|
|
|
|
|
static void
|
|
static void
|
|
@@ -4991,6 +4991,11 @@ i915_gem_load(struct drm_device *dev)
|
|
sizeof(struct drm_i915_gem_object), 0,
|
|
sizeof(struct drm_i915_gem_object), 0,
|
|
SLAB_HWCACHE_ALIGN,
|
|
SLAB_HWCACHE_ALIGN,
|
|
NULL);
|
|
NULL);
|
|
|
|
+ dev_priv->vmas =
|
|
|
|
+ kmem_cache_create("i915_gem_vma",
|
|
|
|
+ sizeof(struct i915_vma), 0,
|
|
|
|
+ SLAB_HWCACHE_ALIGN,
|
|
|
|
+ NULL);
|
|
dev_priv->requests =
|
|
dev_priv->requests =
|
|
kmem_cache_create("i915_gem_request",
|
|
kmem_cache_create("i915_gem_request",
|
|
sizeof(struct drm_i915_gem_request), 0,
|
|
sizeof(struct drm_i915_gem_request), 0,
|