Merge drm/drm-next into drm-intel-next
[platform/kernel/linux-rpi.git] / drivers / gpu / drm / i915 / intel_runtime_pm.c
index eaf7688..22dab36 100644 (file)
@@ -65,16 +65,6 @@ static noinline depot_stack_handle_t __save_depot_stack(void)
        return stack_depot_save(entries, n, GFP_NOWAIT | __GFP_NOWARN);
 }
 
-static void __print_depot_stack(depot_stack_handle_t stack,
-                               char *buf, int sz, int indent)
-{
-       unsigned long *entries;
-       unsigned int nr_entries;
-
-       nr_entries = stack_depot_fetch(stack, &entries);
-       stack_trace_snprint(buf, sz, entries, nr_entries, indent);
-}
-
 static void init_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
 {
        spin_lock_init(&rpm->debug.lock);
@@ -146,12 +136,12 @@ static void untrack_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm,
                if (!buf)
                        return;
 
-               __print_depot_stack(stack, buf, PAGE_SIZE, 2);
+               stack_depot_snprint(stack, buf, PAGE_SIZE, 2);
                DRM_DEBUG_DRIVER("wakeref %x from\n%s", stack, buf);
 
                stack = READ_ONCE(rpm->debug.last_release);
                if (stack) {
-                       __print_depot_stack(stack, buf, PAGE_SIZE, 2);
+                       stack_depot_snprint(stack, buf, PAGE_SIZE, 2);
                        DRM_DEBUG_DRIVER("wakeref last released at\n%s", buf);
                }
 
@@ -183,12 +173,12 @@ __print_intel_runtime_pm_wakeref(struct drm_printer *p,
                return;
 
        if (dbg->last_acquire) {
-               __print_depot_stack(dbg->last_acquire, buf, PAGE_SIZE, 2);
+               stack_depot_snprint(dbg->last_acquire, buf, PAGE_SIZE, 2);
                drm_printf(p, "Wakeref last acquired:\n%s", buf);
        }
 
        if (dbg->last_release) {
-               __print_depot_stack(dbg->last_release, buf, PAGE_SIZE, 2);
+               stack_depot_snprint(dbg->last_release, buf, PAGE_SIZE, 2);
                drm_printf(p, "Wakeref last released:\n%s", buf);
        }
 
@@ -203,7 +193,7 @@ __print_intel_runtime_pm_wakeref(struct drm_printer *p,
                rep = 1;
                while (i + 1 < dbg->count && dbg->owners[i + 1] == stack)
                        rep++, i++;
-               __print_depot_stack(stack, buf, PAGE_SIZE, 2);
+               stack_depot_snprint(stack, buf, PAGE_SIZE, 2);
                drm_printf(p, "Wakeref x%lu taken at:\n%s", rep, buf);
        }
 
@@ -600,6 +590,9 @@ void intel_runtime_pm_enable(struct intel_runtime_pm *rpm)
                pm_runtime_use_autosuspend(kdev);
        }
 
+       /* Enable by default */
+       pm_runtime_allow(kdev);
+
        /*
         * The core calls the driver load handler with an RPM reference held.
         * We drop that here and will reacquire it during unloading in