intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
@ 2018-08-09  9:16 Chris Wilson
  2018-08-09  9:16 ` [PATCH 2/2] drm/i915: Track all held rpm wakerefs Chris Wilson
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Chris Wilson @ 2018-08-09  9:16 UTC (permalink / raw)
  To: intel-gfx

Currently, we cancel the extra wakeref we have for !runtime-pm devices
inside power_wells_fini_hw. However, this is not strictly paired with
the acquisition of that wakeref in runtime_pm_enable (as the fini_hw may
be called on errors paths before we even call runtime_pm_enable). Make
the symmetry more explicit and include a check that we do release all of
our rpm wakerefs.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_drv.c         |  8 ++++++--
 drivers/gpu/drm/i915/intel_drv.h        |  1 +
 drivers/gpu/drm/i915/intel_runtime_pm.c | 24 +++++++++++++++---------
 3 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 9dce55182c3a..62ef105a241d 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1281,6 +1281,8 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
 	 */
 	if (INTEL_INFO(dev_priv)->num_pipes)
 		drm_kms_helper_poll_init(dev);
+
+	intel_runtime_pm_enable(dev_priv);
 }
 
 /**
@@ -1289,6 +1291,8 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
  */
 static void i915_driver_unregister(struct drm_i915_private *dev_priv)
 {
+	intel_runtime_pm_disable(dev_priv);
+
 	intel_fbdev_unregister(dev_priv);
 	intel_audio_deinit(dev_priv);
 
@@ -1408,8 +1412,6 @@ int i915_driver_load(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	i915_driver_register(dev_priv);
 
-	intel_runtime_pm_enable(dev_priv);
-
 	intel_init_ipc(dev_priv);
 
 	intel_runtime_pm_put(dev_priv);
@@ -1474,6 +1476,8 @@ void i915_driver_unload(struct drm_device *dev)
 	i915_driver_cleanup_mmio(dev_priv);
 
 	intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
+
+	WARN_ON(atomic_read(&dev_priv->runtime_pm.wakeref_count));
 }
 
 static void i915_driver_release(struct drm_device *dev)
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 0601abb8c71f..dc6c0cec9b36 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1956,6 +1956,7 @@ void intel_power_domains_verify_state(struct drm_i915_private *dev_priv);
 void bxt_display_core_init(struct drm_i915_private *dev_priv, bool resume);
 void bxt_display_core_uninit(struct drm_i915_private *dev_priv);
 void intel_runtime_pm_enable(struct drm_i915_private *dev_priv);
+void intel_runtime_pm_disable(struct drm_i915_private *dev_priv);
 const char *
 intel_display_power_domain_str(enum intel_display_power_domain domain);
 
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index e209edbc561d..b78c3b48aa62 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -3793,8 +3793,6 @@ void intel_power_domains_init_hw(struct drm_i915_private *dev_priv, bool resume)
  */
 void intel_power_domains_fini_hw(struct drm_i915_private *dev_priv)
 {
-	struct device *kdev = &dev_priv->drm.pdev->dev;
-
 	/*
 	 * The i915.ko module is still not prepared to be loaded when
 	 * the power well is not enabled, so just enable it in case
@@ -3809,13 +3807,6 @@ void intel_power_domains_fini_hw(struct drm_i915_private *dev_priv)
 	/* Remove the refcount we took to keep power well support disabled. */
 	if (!i915_modparams.disable_power_well)
 		intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
-
-	/*
-	 * Remove the refcount we took in intel_runtime_pm_enable() in case
-	 * the platform doesn't support runtime PM.
-	 */
-	if (!HAS_RUNTIME_PM(dev_priv))
-		pm_runtime_put(kdev);
 }
 
 /**
@@ -4074,3 +4065,18 @@ void intel_runtime_pm_enable(struct drm_i915_private *dev_priv)
 	 */
 	pm_runtime_put_autosuspend(kdev);
 }
+
+void intel_runtime_pm_disable(struct drm_i915_private *dev_priv)
+{
+	struct pci_dev *pdev = dev_priv->drm.pdev;
+	struct device *kdev = &pdev->dev;
+
+	pm_runtime_dont_use_autosuspend(kdev);
+
+	/*
+	 * Remove the refcount we took in intel_runtime_pm_enable() in case
+	 * the platform doesn't support runtime PM.
+	 */
+	if (!HAS_RUNTIME_PM(dev_priv))
+		pm_runtime_put(kdev);
+}
-- 
2.18.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] drm/i915: Track all held rpm wakerefs
  2018-08-09  9:16 [PATCH 1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable Chris Wilson
@ 2018-08-09  9:16 ` Chris Wilson
  2018-08-09  9:50 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable Patchwork
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2018-08-09  9:16 UTC (permalink / raw)
  To: intel-gfx

Everytime we take a wakeref, record the stack trace of where it was
taken; clearing the set if we ever drop back to no owners. For debugging
a rpm leak, we can look at all the current wakerefs and check if they
have a matching rpm_put.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/Kconfig.debug      |  13 +++
 drivers/gpu/drm/i915/i915_drv.c         |   3 +-
 drivers/gpu/drm/i915/i915_drv.h         |   7 ++
 drivers/gpu/drm/i915/intel_drv.h        |   1 +
 drivers/gpu/drm/i915/intel_runtime_pm.c | 143 +++++++++++++++++++++++-
 5 files changed, 165 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug
index 459f8f88a34c..ed572a454e01 100644
--- a/drivers/gpu/drm/i915/Kconfig.debug
+++ b/drivers/gpu/drm/i915/Kconfig.debug
@@ -39,6 +39,19 @@ config DRM_I915_DEBUG
 
           If in doubt, say "N".
 
+config DRM_I915_DEBUG_RPM
+        bool "Insert extra checks into the runtime pm internals"
+        depends on DRM_I915
+        default n
+        select STACKDEPOT
+        help
+          Enable extra sanity checks (including BUGs) along the runtime pm
+          paths that may slow the system down and if hit hang the machine.
+
+          Recommended for driver developers only.
+
+          If in doubt, say "N".
+
 config DRM_I915_DEBUG_GEM
         bool "Insert extra checks into the GEM internals"
         default n
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 62ef105a241d..63992fe45dbf 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1477,7 +1477,7 @@ void i915_driver_unload(struct drm_device *dev)
 
 	intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
 
-	WARN_ON(atomic_read(&dev_priv->runtime_pm.wakeref_count));
+	intel_runtime_pm_cleanup(dev_priv);
 }
 
 static void i915_driver_release(struct drm_device *dev)
@@ -2603,6 +2603,7 @@ static int intel_runtime_suspend(struct device *kdev)
 
 	DRM_DEBUG_KMS("Suspending device\n");
 
+	intel_runtime_pm_cleanup(dev_priv);
 	disable_rpm_wakeref_asserts(dev_priv);
 
 	/*
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 0b10a30b7d96..c8d5b896b155 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -45,6 +45,7 @@
 #include <linux/pm_qos.h>
 #include <linux/reservation.h>
 #include <linux/shmem_fs.h>
+#include <linux/stackdepot.h>
 
 #include <drm/drmP.h>
 #include <drm/intel-gtt.h>
@@ -1278,6 +1279,12 @@ struct i915_runtime_pm {
 	atomic_t wakeref_count;
 	bool suspended;
 	bool irqs_enabled;
+
+#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RPM)
+	spinlock_t debug_lock;
+	depot_stack_handle_t *debug_owners;
+	unsigned long debug_count;
+#endif
 };
 
 enum intel_pipe_crc_source {
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index dc6c0cec9b36..968c9074f1a8 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1957,6 +1957,7 @@ void bxt_display_core_init(struct drm_i915_private *dev_priv, bool resume);
 void bxt_display_core_uninit(struct drm_i915_private *dev_priv);
 void intel_runtime_pm_enable(struct drm_i915_private *dev_priv);
 void intel_runtime_pm_disable(struct drm_i915_private *dev_priv);
+void intel_runtime_pm_cleanup(struct drm_i915_private *dev_priv);
 const char *
 intel_display_power_domain_str(enum intel_display_power_domain domain);
 
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index b78c3b48aa62..7f555a0ad2ee 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -49,6 +49,130 @@
  * present for a given platform.
  */
 
+#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RPM)
+
+#include <linux/sort.h>
+
+#define STACKDEPTH 12
+
+static void track_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+{
+	unsigned long entries[STACKDEPTH];
+	struct stack_trace trace = {
+		.entries = entries,
+		.max_entries = ARRAY_SIZE(entries),
+		.skip = 2
+	};
+	unsigned long flags;
+	depot_stack_handle_t stack, *stacks;
+
+	if (!HAS_RUNTIME_PM(i915))
+		return;
+
+	save_stack_trace(&trace);
+	if (trace.nr_entries &&
+	    trace.entries[trace.nr_entries - 1] == ULONG_MAX)
+		trace.nr_entries--;
+
+	stack = depot_save_stack(&trace, GFP_NOWAIT | __GFP_NOWARN);
+	if (!stack)
+		return;
+
+	spin_lock_irqsave(&i915->runtime_pm.debug_lock, flags);
+	stacks = krealloc(i915->runtime_pm.debug_owners,
+			  (i915->runtime_pm.debug_count + 1) * sizeof(*stacks),
+			  GFP_NOWAIT | __GFP_NOWARN);
+	if (stacks) {
+		stacks[i915->runtime_pm.debug_count++] = stack;
+		i915->runtime_pm.debug_owners = stacks;
+	}
+	spin_unlock_irqrestore(&i915->runtime_pm.debug_lock, flags);
+}
+
+static void untrack_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+{
+	depot_stack_handle_t *stacks;
+	unsigned long flags;
+
+	spin_lock_irqsave(&i915->runtime_pm.debug_lock, flags);
+	stacks = fetch_and_zero(&i915->runtime_pm.debug_owners);
+	i915->runtime_pm.debug_count = 0;
+	spin_unlock_irqrestore(&i915->runtime_pm.debug_lock, flags);
+
+	kfree(stacks);
+}
+
+static int cmphandle(const void *_a, const void *_b)
+{
+        const depot_stack_handle_t * const a = _a, * const b = _b;
+
+        if (*a < *b)
+                return -1;
+        else if (*a > *b)
+                return 1;
+        else
+                return 0;
+}
+
+static void show_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+{
+	unsigned long entries[STACKDEPTH];
+	depot_stack_handle_t *stacks;
+	unsigned long flags, count, i;
+	char *buf;
+
+	spin_lock_irqsave(&i915->runtime_pm.debug_lock, flags);
+	stacks = fetch_and_zero(&i915->runtime_pm.debug_owners);
+	count = fetch_and_zero(&i915->runtime_pm.debug_count);
+	spin_unlock_irqrestore(&i915->runtime_pm.debug_lock, flags);
+	if (!count)
+		return;
+
+	DRM_DEBUG_DRIVER("leaked %lu wakerefs\n", count);
+
+	buf = kmalloc(PAGE_SIZE, GFP_KERNEL);
+	if (!buf)
+		goto out_stacks;
+
+	sort(stacks, count, sizeof(*stacks), cmphandle, NULL);
+
+	for (i = 0; i < count; i++) {
+		struct stack_trace trace = {
+			.entries = entries,
+			.max_entries = ARRAY_SIZE(entries),
+		};
+		depot_stack_handle_t stack = stacks[i];
+		unsigned long rep;
+
+		rep = 1;
+		while (i + 1 < count && stacks[i + 1] == stack)
+			rep++, i++;
+		depot_fetch_stack(stack, &trace);
+		snprint_stack_trace(buf, PAGE_SIZE, &trace, 0);
+		DRM_DEBUG_DRIVER("wakeref x%lu at\n%s", rep, buf);
+	}
+
+	kfree(buf);
+out_stacks:
+	kfree(stacks);
+}
+
+#else
+
+static void track_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+{
+}
+
+static void untrack_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+{
+}
+
+static void show_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+{
+}
+
+#endif
+
 bool intel_display_power_well_is_enabled(struct drm_i915_private *dev_priv,
 					 enum i915_power_well_id power_well_id);
 
@@ -3939,6 +4063,8 @@ void intel_runtime_pm_get(struct drm_i915_private *dev_priv)
 
 	atomic_inc(&dev_priv->runtime_pm.wakeref_count);
 	assert_rpm_wakelock_held(dev_priv);
+
+	track_intel_runtime_pm_wakeref(dev_priv);
 }
 
 /**
@@ -3973,6 +4099,8 @@ bool intel_runtime_pm_get_if_in_use(struct drm_i915_private *dev_priv)
 	atomic_inc(&dev_priv->runtime_pm.wakeref_count);
 	assert_rpm_wakelock_held(dev_priv);
 
+	track_intel_runtime_pm_wakeref(dev_priv);
+
 	return true;
 }
 
@@ -4002,6 +4130,8 @@ void intel_runtime_pm_get_noresume(struct drm_i915_private *dev_priv)
 	pm_runtime_get_noresume(kdev);
 
 	atomic_inc(&dev_priv->runtime_pm.wakeref_count);
+
+	track_intel_runtime_pm_wakeref(dev_priv);
 }
 
 /**
@@ -4018,7 +4148,8 @@ void intel_runtime_pm_put(struct drm_i915_private *dev_priv)
 	struct device *kdev = &pdev->dev;
 
 	assert_rpm_wakelock_held(dev_priv);
-	atomic_dec(&dev_priv->runtime_pm.wakeref_count);
+	if (!atomic_dec_and_test(&dev_priv->runtime_pm.wakeref_count))
+		untrack_intel_runtime_pm_wakeref(dev_priv);
 
 	pm_runtime_mark_last_busy(kdev);
 	pm_runtime_put_autosuspend(kdev);
@@ -4080,3 +4211,13 @@ void intel_runtime_pm_disable(struct drm_i915_private *dev_priv)
 	if (!HAS_RUNTIME_PM(dev_priv))
 		pm_runtime_put(kdev);
 }
+
+void intel_runtime_pm_cleanup(struct drm_i915_private *dev_priv)
+{
+	if (WARN_ON(atomic_read(&dev_priv->runtime_pm.wakeref_count))) {
+		show_intel_runtime_pm_wakeref(dev_priv);
+		atomic_set(&dev_priv->runtime_pm.wakeref_count, 0);
+	}
+
+	untrack_intel_runtime_pm_wakeref(dev_priv);
+}
-- 
2.18.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
  2018-08-09  9:16 [PATCH 1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable Chris Wilson
  2018-08-09  9:16 ` [PATCH 2/2] drm/i915: Track all held rpm wakerefs Chris Wilson
@ 2018-08-09  9:50 ` Patchwork
  2018-08-09  9:51 ` ✗ Fi.CI.SPARSE: " Patchwork
  2018-08-09 10:09 ` ✗ Fi.CI.BAT: failure " Patchwork
  3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-08-09  9:50 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
URL   : https://patchwork.freedesktop.org/series/47934/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
1787a18142d6 drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
5d4072eab971 drm/i915: Track all held rpm wakerefs
-:76: CHECK:UNCOMMENTED_DEFINITION: spinlock_t definition without comment
#76: FILE: drivers/gpu/drm/i915/i915_drv.h:1284:
+	spinlock_t debug_lock;

-:158: ERROR:CODE_INDENT: code indent should use tabs where possible
#158: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:107:
+        const depot_stack_handle_t * const a = _a, * const b = _b;$

-:158: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#158: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:107:
+        const depot_stack_handle_t * const a = _a, * const b = _b;$

-:160: ERROR:CODE_INDENT: code indent should use tabs where possible
#160: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:109:
+        if (*a < *b)$

-:160: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#160: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:109:
+        if (*a < *b)$

-:161: ERROR:CODE_INDENT: code indent should use tabs where possible
#161: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:110:
+                return -1;$

-:161: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#161: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:110:
+                return -1;$

-:162: ERROR:CODE_INDENT: code indent should use tabs where possible
#162: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:111:
+        else if (*a > *b)$

-:162: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#162: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:111:
+        else if (*a > *b)$

-:163: ERROR:CODE_INDENT: code indent should use tabs where possible
#163: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:112:
+                return 1;$

-:163: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#163: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:112:
+                return 1;$

-:164: ERROR:CODE_INDENT: code indent should use tabs where possible
#164: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:113:
+        else$

-:164: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#164: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:113:
+        else$

-:165: ERROR:CODE_INDENT: code indent should use tabs where possible
#165: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:114:
+                return 0;$

-:165: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#165: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:114:
+                return 0;$

total: 7 errors, 7 warnings, 1 checks, 236 lines checked

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
  2018-08-09  9:16 [PATCH 1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable Chris Wilson
  2018-08-09  9:16 ` [PATCH 2/2] drm/i915: Track all held rpm wakerefs Chris Wilson
  2018-08-09  9:50 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable Patchwork
@ 2018-08-09  9:51 ` Patchwork
  2018-08-09 10:09 ` ✗ Fi.CI.BAT: failure " Patchwork
  3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-08-09  9:51 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
URL   : https://patchwork.freedesktop.org/series/47934/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Commit: drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
Okay!

Commit: drm/i915: Track all held rpm wakerefs
+
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3675:16: warning: expression using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3682:16: warning: expression using sizeof(void)
+Error in reading or end of file.

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
  2018-08-09  9:16 [PATCH 1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable Chris Wilson
                   ` (2 preceding siblings ...)
  2018-08-09  9:51 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2018-08-09 10:09 ` Patchwork
  3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-08-09 10:09 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
URL   : https://patchwork.freedesktop.org/series/47934/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_4636 -> Patchwork_9902 =

== Summary - FAILURE ==

  Serious unknown changes coming with Patchwork_9902 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_9902, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/47934/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_9902:

  === IGT changes ===

    ==== Possible regressions ====

    igt@drv_module_reload@basic-no-display:
      {fi-skl-iommu}:     PASS -> DMESG-WARN +3
      fi-elk-e7500:       PASS -> DMESG-WARN +16

    igt@drv_module_reload@basic-reload:
      fi-skl-guc:         PASS -> DMESG-WARN +3
      fi-kbl-x1275:       PASS -> DMESG-WARN +16

    igt@drv_module_reload@basic-reload-inject:
      fi-skl-6260u:       PASS -> DMESG-WARN +3
      fi-kbl-7560u:       NOTRUN -> DMESG-WARN +16
      fi-skl-6770hq:      PASS -> DMESG-WARN +3

    igt@drv_selftest@live_contexts:
      fi-cfl-s3:          PASS -> DMESG-WARN +16

    igt@drv_selftest@live_dmabuf:
      fi-byt-n2820:       PASS -> DMESG-WARN +16
      fi-hsw-4770r:       PASS -> DMESG-WARN +16

    igt@drv_selftest@live_evict:
      fi-cnl-psr:         PASS -> DMESG-WARN +16
      {fi-bsw-kefka}:     PASS -> DMESG-WARN +16

    igt@drv_selftest@live_gtt:
      {fi-byt-clapper}:   PASS -> DMESG-WARN +16
      {fi-kbl-8809g}:     PASS -> DMESG-WARN +16
      fi-kbl-guc:         PASS -> DMESG-WARN +15
      fi-gdg-551:         PASS -> DMESG-WARN +16
      fi-kbl-7500u:       PASS -> DMESG-WARN +16

    igt@drv_selftest@live_guc:
      fi-hsw-peppy:       PASS -> DMESG-WARN +16
      {fi-bdw-samus}:     PASS -> DMESG-WARN +16

    igt@drv_selftest@live_hangcheck:
      fi-snb-2520m:       PASS -> DMESG-WARN +16
      fi-skl-6700hq:      PASS -> DMESG-WARN +3
      fi-skl-6700k2:      PASS -> DMESG-WARN +3

    igt@drv_selftest@live_hugepages:
      fi-glk-dsi:         PASS -> DMESG-WARN +16
      {fi-cfl-8109u}:     PASS -> DMESG-WARN +16

    igt@drv_selftest@live_objects:
      fi-bwr-2160:        PASS -> DMESG-WARN +16
      fi-bdw-5557u:       PASS -> DMESG-WARN +16
      fi-snb-2600:        PASS -> DMESG-WARN +16
      fi-hsw-4770:        PASS -> DMESG-WARN +16
      fi-bxt-dsi:         PASS -> DMESG-WARN +16

    igt@drv_selftest@live_requests:
      fi-whl-u:           PASS -> DMESG-WARN +15
      fi-skl-gvtdvm:      PASS -> DMESG-WARN +16
      fi-ivb-3520m:       PASS -> DMESG-WARN +16
      fi-bxt-j4205:       PASS -> DMESG-WARN +16
      fi-cfl-guc:         PASS -> DMESG-WARN +15

    igt@drv_selftest@live_sanitycheck:
      fi-bdw-gvtdvm:      PASS -> DMESG-WARN +16
      fi-ilk-650:         PASS -> DMESG-WARN +16
      fi-bsw-n3050:       PASS -> DMESG-WARN +16
      fi-kbl-7567u:       PASS -> DMESG-WARN +16
      fi-glk-j4005:       PASS -> DMESG-WARN +16
      fi-ivb-3770:        PASS -> DMESG-WARN +16

    igt@drv_selftest@live_uncore:
      fi-pnv-d510:        PASS -> DMESG-WARN +16

    igt@drv_selftest@live_workarounds:
      fi-cfl-8700k:       PASS -> DMESG-WARN +16
      fi-kbl-r:           PASS -> DMESG-WARN +16
      fi-byt-j1900:       PASS -> DMESG-WARN +16
      fi-blb-e6850:       PASS -> DMESG-WARN +16

    igt@gem_exec_suspend@basic-s3:
      {fi-kbl-soraka}:    NOTRUN -> INCOMPLETE

    igt@pm_rpm@basic-pci-d3-state:
      fi-skl-6600u:       PASS -> DMESG-WARN +4

    
== Known issues ==

  Here are the changes found in Patchwork_9902 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_selftest@live_objects:
      fi-skl-6770hq:      PASS -> DMESG-WARN (fdo#107175) +12
      fi-skl-6700k2:      PASS -> DMESG-WARN (fdo#107175) +12
      fi-skl-6260u:       PASS -> DMESG-WARN (fdo#107175) +12

    igt@drv_selftest@live_requests:
      fi-skl-6700hq:      PASS -> DMESG-WARN (fdo#107175) +12
      fi-skl-guc:         PASS -> DMESG-WARN (fdo#107175) +11

    igt@drv_selftest@live_sanitycheck:
      {fi-skl-iommu}:     PASS -> DMESG-WARN (fdo#107175) +12

    igt@drv_selftest@live_uncore:
      fi-skl-6600u:       PASS -> DMESG-WARN (fdo#107175) +12

    igt@drv_selftest@live_workarounds:
      fi-whl-u:           PASS -> DMESG-FAIL (fdo#107292)

    igt@kms_frontbuffer_tracking@basic:
      {fi-byt-clapper}:   PASS -> FAIL (fdo#103167)

    
    ==== Warnings ====

    {igt@kms_psr@primary_page_flip}:
      fi-cnl-psr:         DMESG-WARN (fdo#107372) -> DMESG-FAIL (fdo#107372)

    
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#107175 https://bugs.freedesktop.org/show_bug.cgi?id=107175
  fdo#107292 https://bugs.freedesktop.org/show_bug.cgi?id=107292
  fdo#107372 https://bugs.freedesktop.org/show_bug.cgi?id=107372


== Participating hosts (50 -> 48) ==

  Additional (2): fi-kbl-soraka fi-kbl-7560u 
  Missing    (4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


== Build changes ==

    * Linux: CI_DRM_4636 -> Patchwork_9902

  CI_DRM_4636: 084bb2fb549650b6da80976c9bc594779ce342b4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4590: e6ddaca7a8ea9d3d27f0ecaa36b357cc02e2df3b @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_9902: 5d4072eab971a88dcd1291918bfb44279e17d8df @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

5d4072eab971 drm/i915: Track all held rpm wakerefs
1787a18142d6 drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_9902/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
  2018-08-16 12:37 [PATCH 1/2] " Imre Deak
@ 2018-08-16 13:22 ` Patchwork
  0 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-08-16 13:22 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
URL   : https://patchwork.freedesktop.org/series/48315/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
62108989ff60 drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable
2e47b9b2aba3 drm/i915: Refactor intel_display_set_init_power() logic
-:436: CHECK:COMPARISON_TO_NULL: Comparison to NULL could be written "dev_priv->csr.dmc_payload"
#436: FILE: drivers/gpu/drm/i915/intel_runtime_pm.c:3848:
+	    dev_priv->csr.dmc_payload != NULL)

total: 0 errors, 0 warnings, 1 checks, 402 lines checked

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-08-16 13:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-09  9:16 [PATCH 1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable Chris Wilson
2018-08-09  9:16 ` [PATCH 2/2] drm/i915: Track all held rpm wakerefs Chris Wilson
2018-08-09  9:50 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Introduce intel_runtime_pm_disable to pair intel_runtime_pm_enable Patchwork
2018-08-09  9:51 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-08-09 10:09 ` ✗ Fi.CI.BAT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2018-08-16 12:37 [PATCH 1/2] " Imre Deak
2018-08-16 13:22 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).