drm/i915: properly init lockdep class
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Thu, 14 Dec 2017 13:10:09 +0000 (15:10 +0200)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Thu, 14 Dec 2017 18:10:01 +0000 (20:10 +0200)
The code has an ifdef and uses two functions to either init the bare
spinlock or init it and set a lock-class. It is possible to do the same
thing without an ifdef.
With this patch (in debug case) we first use the "default" lock class
which is later overwritten to the supplied one. Without lockdep the set
name/class function vanishes.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171214131009.7479-1-joonas.lahtinen@linux.intel.com
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_gem_timeline.c

index c01905d6450c8ba73fd75be2c0aa0362f8f526d2..e9fd8760406716b8a0ed1de3dbe01511ecb58101 100644 (file)
@@ -33,11 +33,8 @@ static void __intel_timeline_init(struct intel_timeline *tl,
 {
        tl->fence_context = context;
        tl->common = parent;
-#ifdef CONFIG_DEBUG_SPINLOCK
-       __raw_spin_lock_init(&tl->lock.rlock, lockname, lockclass);
-#else
        spin_lock_init(&tl->lock);
-#endif
+       lockdep_set_class_and_name(&tl->lock, lockclass, lockname);
        init_request_active(&tl->last_request, NULL);
        INIT_LIST_HEAD(&tl->requests);
        i915_syncmap_init(&tl->sync);