drm/i915: Tidy slab cache allocations
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>
Wed, 2 Nov 2016 15:14:59 +0000 (15:14 +0000)
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>
Thu, 3 Nov 2016 13:52:57 +0000 (13:52 +0000)
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: Tvrtko 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: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1478099699-28652-1-git-send-email-tvrtko.ursulin@linux.intel.com
drivers/gpu/drm/i915/i915_gem.c

index 5839beb..1f995ce 100644 (file)
@@ -4714,39 +4714,22 @@ int
 i915_gem_load_init(struct drm_device *dev)
 {
        struct drm_i915_private *dev_priv = to_i915(dev);
-       int err;
+       int err = -ENOMEM;
 
-       dev_priv->objects =
-               kmem_cache_create("i915_gem_object",
-                                 sizeof(struct drm_i915_gem_object), 0,
-                                 SLAB_HWCACHE_ALIGN,
-                                 NULL);
-       if (!dev_priv->objects) {
-               err = -ENOMEM;
+       dev_priv->objects = KMEM_CACHE(drm_i915_gem_object, SLAB_HWCACHE_ALIGN);
+       if (!dev_priv->objects)
                goto err_out;
-       }
 
-       dev_priv->vmas =
-               kmem_cache_create("i915_gem_vma",
-                                 sizeof(struct i915_vma), 0,
-                                 SLAB_HWCACHE_ALIGN,
-                                 NULL);
-       if (!dev_priv->vmas) {
-               err = -ENOMEM;
+       dev_priv->vmas = KMEM_CACHE(i915_vma, SLAB_HWCACHE_ALIGN);
+       if (!dev_priv->vmas)
                goto err_objects;
-       }
 
-       dev_priv->requests =
-               kmem_cache_create("i915_gem_request",
-                                 sizeof(struct drm_i915_gem_request), 0,
-                                 SLAB_HWCACHE_ALIGN |
-                                 SLAB_RECLAIM_ACCOUNT |
-                                 SLAB_DESTROY_BY_RCU,
-                                 NULL);
-       if (!dev_priv->requests) {
-               err = -ENOMEM;
+       dev_priv->requests = KMEM_CACHE(drm_i915_gem_request,
+                                       SLAB_HWCACHE_ALIGN |
+                                       SLAB_RECLAIM_ACCOUNT |
+                                       SLAB_DESTROY_BY_RCU);
+       if (!dev_priv->requests)
                goto err_vmas;
-       }
 
        mutex_lock(&dev_priv->drm.struct_mutex);
        INIT_LIST_HEAD(&dev_priv->gt.timelines);