Commit a933568e authored by Tvrtko Ursulin's avatar Tvrtko Ursulin
Browse files

drm/i915: Tidy slab cache allocations



We can use the preferred KMEM_CACHE helper for brevity.

Also simplifiy error unwind by only setting the ENOMEM
error code once.

v2: Add forgotten changes. (Joonas Lahtinen)

Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> (v1)
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1478099699-28652-1-git-send-email-tvrtko.ursulin@linux.intel.com
parent dfc5148f
Loading
Loading
Loading
Loading
+10 −27
Original line number Original line Diff line number Diff line
@@ -4714,39 +4714,22 @@ int
i915_gem_load_init(struct drm_device *dev)
i915_gem_load_init(struct drm_device *dev)
{
{
	struct drm_i915_private *dev_priv = to_i915(dev);
	struct drm_i915_private *dev_priv = to_i915(dev);
	int err;
	int err = -ENOMEM;


	dev_priv->objects =
	dev_priv->objects = KMEM_CACHE(drm_i915_gem_object, SLAB_HWCACHE_ALIGN);
		kmem_cache_create("i915_gem_object",
	if (!dev_priv->objects)
				  sizeof(struct drm_i915_gem_object), 0,
				  SLAB_HWCACHE_ALIGN,
				  NULL);
	if (!dev_priv->objects) {
		err = -ENOMEM;
		goto err_out;
		goto err_out;
	}


	dev_priv->vmas =
	dev_priv->vmas = KMEM_CACHE(i915_vma, SLAB_HWCACHE_ALIGN);
		kmem_cache_create("i915_gem_vma",
	if (!dev_priv->vmas)
				  sizeof(struct i915_vma), 0,
				  SLAB_HWCACHE_ALIGN,
				  NULL);
	if (!dev_priv->vmas) {
		err = -ENOMEM;
		goto err_objects;
		goto err_objects;
	}


	dev_priv->requests =
	dev_priv->requests = KMEM_CACHE(drm_i915_gem_request,
		kmem_cache_create("i915_gem_request",
				  sizeof(struct drm_i915_gem_request), 0,
					SLAB_HWCACHE_ALIGN |
					SLAB_HWCACHE_ALIGN |
					SLAB_RECLAIM_ACCOUNT |
					SLAB_RECLAIM_ACCOUNT |
				  SLAB_DESTROY_BY_RCU,
					SLAB_DESTROY_BY_RCU);
				  NULL);
	if (!dev_priv->requests)
	if (!dev_priv->requests) {
		err = -ENOMEM;
		goto err_vmas;
		goto err_vmas;
	}


	mutex_lock(&dev_priv->drm.struct_mutex);
	mutex_lock(&dev_priv->drm.struct_mutex);
	INIT_LIST_HEAD(&dev_priv->gt.timelines);
	INIT_LIST_HEAD(&dev_priv->gt.timelines);