All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend
@ 2017-03-02  7:41 Chris Wilson
  2017-03-02  7:41 ` [PATCH 2/2] drm/i915: Restore the invalid access without RPM warning Chris Wilson
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Chris Wilson @ 2017-03-02  7:41 UTC (permalink / raw)
  To: intel-gfx

i915_gem_suspend() tries to access the device to ensure it is idle and
all writes from the device are flushed to memory. It assumed is already
held the runtime pm wakeref, but we should explicitly acquire it for our
access to be safe.

[  619.926287] WARNING: CPU: 3 PID: 9353 at drivers/gpu/drm/i915/intel_drv.h:1750 gen6_write32+0x23e/0x2a0 [i915]
[  619.926300] RPM wakelock ref not held during HW access
[  619.926311] Modules linked in: vgem x86_pkg_temp_thermal intel_powerclamp snd_hda_codec_hdmi snd_hda_codec_generic snd_hda_codec coretemp snd_hwdep crct10dif_pclmul snd_hda_core crc32_pclmul snd_pcm mei_me mei lpc_ich ghash_clmulni_intel i915(-) sdhci_pci sdhci mmc_core e1000e ptp pps_core prime_numbers [last unloaded: snd_hda_intel]
[  619.926578] CPU: 3 PID: 9353 Comm: drv_module_relo Tainted: G     U          4.10.0-CI-Trybot_609+ #1
[  619.926585] Hardware name: LENOVO 42962WU/42962WU, BIOS 8DET56WW (1.26 ) 12/01/2011
[  619.926592] Call Trace:
[  619.926609]  dump_stack+0x67/0x92
[  619.926625]  __warn+0xc6/0xe0
[  619.926640]  warn_slowpath_fmt+0x4a/0x50
[  619.926726]  gen6_write32+0x23e/0x2a0 [i915]
[  619.926801]  gen6_mm_switch+0x38/0x70 [i915]
[  619.926871]  i915_switch_context+0xec/0xa10 [i915]
[  619.926942]  i915_gem_switch_to_kernel_context+0x13c/0x2b0 [i915]
[  619.927019]  i915_gem_suspend+0x2b/0x180 [i915]
[  619.927079]  i915_driver_unload+0x22/0x200 [i915]
[  619.927093]  ? __this_cpu_preempt_check+0x13/0x20
[  619.927105]  ? trace_hardirqs_on_caller+0xe7/0x200
[  619.927118]  ? trace_hardirqs_on+0xd/0x10
[  619.927128]  ? _raw_spin_unlock_irqrestore+0x3d/0x60
[  619.927192]  i915_pci_remove+0x14/0x20 [i915]
[  619.927205]  pci_device_remove+0x34/0xb0
[  619.927219]  device_release_driver_internal+0x158/0x210
[  619.927234]  driver_detach+0x3b/0x80
[  619.927245]  bus_remove_driver+0x53/0xd0
[  619.927256]  driver_unregister+0x27/0x50
[  619.927267]  pci_unregister_driver+0x25/0xa0
[  619.927351]  i915_exit+0x1a/0xb1a [i915]
[  619.927362]  SyS_delete_module+0x193/0x1e0
[  619.927378]  entry_SYSCALL_64_fastpath+0x1c/0xb1
[  619.927386] RIP: 0033:0x7f82b46c5d37
[  619.927393] RSP: 002b:00007ffdb6f610d8 EFLAGS: 00000246 ORIG_RAX: 00000000000000b0
[  619.927408] RAX: ffffffffffffffda RBX: ffffffff81481ff3 RCX: 00007f82b46c5d37
[  619.927415] RDX: 0000000000000001 RSI: 0000000000000800 RDI: 000000000224f558
[  619.927422] RBP: ffffc90001187f88 R08: 0000000000000000 R09: 00007ffdb6f61100
[  619.927428] R10: 000000000224f4e0 R11: 0000000000000246 R12: 0000000000000000
[  619.927435] R13: 00007ffdb6f612b0 R14: 0000000000000000 R15: 0000000000000000
[  619.927451]  ? __this_cpu_preempt_check+0x13/0x20

or

[  641.646590] WARNING: CPU: 1 PID: 8913 at drivers/gpu/drm/i915/intel_drv.h:1750 intel_runtime_pm_get_noresume+0x8b/0x90 [i915]
[  641.646595] RPM wakelock ref not held during HW access
[  641.646600] Modules linked in: vgem snd_hda_codec_hdmi snd_hda_codec_generic x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_codec snd_hwdep crct10dif_pclmul snd_hda_core crc32_pclmul ghash_clmulni_intel snd_pcm mei_me mei i915(-) r8169 mii prime_numbers i2c_hid [last unloaded: snd_hda_intel]
[  641.646825] CPU: 1 PID: 8913 Comm: drv_module_relo Tainted: G     U          4.10.0-CI-Trybot_609+ #1
[  641.646836] Hardware name: TOSHIBA SATELLITE P50-C/06F4                            , BIOS 1.20 10/08/2015
[  641.646843] Call Trace:
[  641.646857]  dump_stack+0x67/0x92
[  641.646869]  __warn+0xc6/0xe0
[  641.646880]  warn_slowpath_fmt+0x4a/0x50
[  641.646893]  ? __this_cpu_preempt_check+0x13/0x20
[  641.646904]  ? trace_hardirqs_on_caller+0xe7/0x200
[  641.646957]  intel_runtime_pm_get_noresume+0x8b/0x90 [i915]
[  641.647022]  __i915_add_request+0x423/0x540 [i915]
[  641.647080]  i915_gem_switch_to_kernel_context+0x148/0x2b0 [i915]
[  641.647145]  i915_gem_suspend+0x2b/0x180 [i915]
[  641.647189]  i915_driver_unload+0x22/0x200 [i915]
[  641.647200]  ? __this_cpu_preempt_check+0x13/0x20
[  641.647210]  ? trace_hardirqs_on_caller+0xe7/0x200
[  641.647220]  ? trace_hardirqs_on+0xd/0x10
[  641.647231]  ? _raw_spin_unlock_irqrestore+0x3d/0x60
[  641.647276]  i915_pci_remove+0x14/0x20 [i915]
[  641.647293]  pci_device_remove+0x34/0xb0
[  641.647307]  device_release_driver_internal+0x158/0x210
[  641.647321]  driver_detach+0x3b/0x80
[  641.647330]  bus_remove_driver+0x53/0xd0
[  641.647338]  driver_unregister+0x27/0x50
[  641.647348]  pci_unregister_driver+0x25/0xa0
[  641.647415]  i915_exit+0x1a/0xb1a [i915]
[  641.647429]  SyS_delete_module+0x193/0x1e0
[  641.647444]  entry_SYSCALL_64_fastpath+0x1c/0xb1
[  641.647453] RIP: 0033:0x7fc622bd2d37
[  641.647463] RSP: 002b:00007ffff8ffb5c8 EFLAGS: 00000246 ORIG_RAX: 00000000000000b0
[  641.647475] RAX: ffffffffffffffda RBX: ffffffff81481ff3 RCX: 00007fc622bd2d37
[  641.647480] RDX: 0000000000000001 RSI: 0000000000000800 RDI: 0000000000d49118
[  641.647485] RBP: ffffc90000997f88 R08: 0000000000000000 R09: 00007ffff8ffb5f0
[  641.647491] R10: 0000000000d490a0 R11: 0000000000000246 R12: 0000000000000000
[  641.647498] R13: 00007ffff8ffb7a0 R14: 0000000000000000 R15: 0000000000000000
[  641.647510]  ? __this_cpu_preempt_check+0x13/0x20

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_gem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 51b690dc81df..8d99f5443b62 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4186,6 +4186,7 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
 	struct drm_device *dev = &dev_priv->drm;
 	int ret;
 
+	intel_runtime_pm_get(dev_priv);
 	intel_suspend_gt_powersave(dev_priv);
 
 	mutex_lock(&dev->struct_mutex);
@@ -4213,7 +4214,9 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
 
 	assert_kernel_context_is_current(dev_priv);
 	i915_gem_context_lost(dev_priv);
+
 	mutex_unlock(&dev->struct_mutex);
+	intel_runtime_pm_put(dev_priv);
 
 	cancel_delayed_work_sync(&dev_priv->gpu_error.hangcheck_work);
 	cancel_delayed_work_sync(&dev_priv->gt.retire_work);
@@ -4257,6 +4260,7 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
 
 err:
 	mutex_unlock(&dev->struct_mutex);
+	intel_runtime_pm_put(dev_priv);
 	return ret;
 }
 
-- 
2.11.0

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

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

* [PATCH 2/2] drm/i915: Restore the invalid access without RPM warning
  2017-03-02  7:41 [PATCH 1/2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend Chris Wilson
@ 2017-03-02  7:41 ` Chris Wilson
  2017-03-02 12:28   ` Imre Deak
  2017-03-02  8:18 ` ✗ Fi.CI.BAT: warning for series starting with [1/2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend Patchwork
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Chris Wilson @ 2017-03-02  7:41 UTC (permalink / raw)
  To: intel-gfx; +Cc: Imre Deak

A long time ago we turned off the warning as it was too painful, we had
too much broken code. Turn it back on now as we are mostly clean and
need to prevent returning to such orangeness.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Imre Deak <imre.deak@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_drv.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index b9d3e26b7023..0e96f4e6c2a1 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1744,8 +1744,8 @@ assert_rpm_wakelock_held(struct drm_i915_private *dev_priv)
 	assert_rpm_device_not_suspended(dev_priv);
 	/* FIXME: Needs to be converted back to WARN_ONCE, but currently causes
 	 * too much noise. */
-	if (!atomic_read(&dev_priv->pm.wakeref_count))
-		DRM_DEBUG_DRIVER("RPM wakelock ref not held during HW access");
+	WARN_ONCE(!atomic_read(&dev_priv->pm.wakeref_count),
+		  "RPM wakelock ref not held during HW access");
 }
 
 /**
-- 
2.11.0

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

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

* ✗ Fi.CI.BAT: warning for series starting with [1/2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend
  2017-03-02  7:41 [PATCH 1/2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend Chris Wilson
  2017-03-02  7:41 ` [PATCH 2/2] drm/i915: Restore the invalid access without RPM warning Chris Wilson
@ 2017-03-02  8:18 ` Patchwork
  2017-03-02  8:30 ` [PATCH v2] " Chris Wilson
  2017-03-02 10:17 ` ✓ Fi.CI.BAT: success for series starting with [v2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend (rev2) Patchwork
  3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2017-03-02  8:18 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend
URL   : https://patchwork.freedesktop.org/series/20516/
State : warning

== Summary ==

Series 20516v1 Series without cover letter
https://patchwork.freedesktop.org/api/1.0/series/20516/revisions/1/mbox/

Test drv_module_reload:
        Subgroup basic-no-display:
                pass       -> DMESG-WARN (fi-skl-6770hq)
                pass       -> DMESG-WARN (fi-ivb-3520m)
                pass       -> DMESG-WARN (fi-byt-j1900)
                pass       -> DMESG-WARN (fi-skl-6700hq)
                pass       -> DMESG-WARN (fi-kbl-7500u)
                pass       -> DMESG-WARN (fi-hsw-4770)
                pass       -> DMESG-WARN (fi-bxt-t5700)
                pass       -> DMESG-WARN (fi-hsw-4770r)
                pass       -> DMESG-WARN (fi-skl-6260u)
                pass       -> DMESG-WARN (fi-snb-2600)
                pass       -> DMESG-WARN (fi-bxt-j4205)
                pass       -> DMESG-WARN (fi-byt-n2820)
                pass       -> DMESG-WARN (fi-ivb-3770)
                pass       -> DMESG-WARN (fi-bsw-n3050)
                pass       -> DMESG-WARN (fi-bdw-5557u)
                pass       -> DMESG-WARN (fi-snb-2520m)
        Subgroup basic-reload:
                pass       -> DMESG-WARN (fi-skl-6770hq)
                pass       -> DMESG-WARN (fi-ivb-3520m)
                pass       -> DMESG-WARN (fi-byt-j1900)
                pass       -> DMESG-WARN (fi-skl-6700hq)
                pass       -> DMESG-WARN (fi-kbl-7500u)
                pass       -> DMESG-WARN (fi-hsw-4770)
                pass       -> DMESG-WARN (fi-bxt-t5700)
                pass       -> DMESG-WARN (fi-hsw-4770r)
                pass       -> DMESG-WARN (fi-skl-6260u)
                pass       -> DMESG-WARN (fi-snb-2600)
                pass       -> DMESG-WARN (fi-bxt-j4205)
                dmesg-warn -> PASS       (fi-ilk-650)
                pass       -> DMESG-WARN (fi-byt-n2820)
                pass       -> DMESG-WARN (fi-ivb-3770)
                pass       -> DMESG-WARN (fi-bsw-n3050)
                pass       -> DMESG-WARN (fi-bdw-5557u)
                pass       -> DMESG-WARN (fi-snb-2520m)
        Subgroup basic-reload-final:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-reload-inject:
                pass       -> DMESG-WARN (fi-skl-6770hq)
                pass       -> DMESG-WARN (fi-ivb-3520m)
                pass       -> DMESG-WARN (fi-byt-j1900)
                pass       -> DMESG-WARN (fi-skl-6700hq)
                pass       -> DMESG-WARN (fi-kbl-7500u)
                pass       -> DMESG-WARN (fi-hsw-4770)
                pass       -> DMESG-WARN (fi-bxt-t5700)
                pass       -> DMESG-WARN (fi-hsw-4770r)
                pass       -> DMESG-WARN (fi-skl-6260u)
                pass       -> DMESG-WARN (fi-snb-2600)
                pass       -> DMESG-WARN (fi-bxt-j4205)
                dmesg-warn -> PASS       (fi-ilk-650)
                pass       -> DMESG-WARN (fi-byt-n2820)
                pass       -> DMESG-WARN (fi-ivb-3770)
                pass       -> DMESG-WARN (fi-bsw-n3050)
                pass       -> DMESG-WARN (fi-bdw-5557u)
                pass       -> DMESG-WARN (fi-snb-2520m)
Test gem_exec_suspend:
        Subgroup basic-s3:
                dmesg-warn -> PASS       (fi-ilk-650) fdo#100004
        Subgroup basic-s4-devices:
                dmesg-warn -> PASS       (fi-ilk-650) fdo#100004
                pass       -> DMESG-WARN (fi-bxt-t5700)
Test kms_busy:
        Subgroup basic-flip-default-a:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-flip-default-b:
                dmesg-warn -> PASS       (fi-ilk-650)
Test kms_cursor_legacy:
        Subgroup basic-busy-flip-before-cursor-atomic:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-busy-flip-before-cursor-legacy:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-flip-after-cursor-atomic:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-flip-after-cursor-legacy:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-flip-after-cursor-varying-size:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-flip-before-cursor-atomic:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-flip-before-cursor-legacy:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-flip-before-cursor-varying-size:
                dmesg-warn -> PASS       (fi-ilk-650)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-flip-vs-modeset:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-flip-vs-wf_vblank:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup basic-plain-flip:
                dmesg-warn -> PASS       (fi-ilk-650)
Test kms_pipe_crc_basic:
        Subgroup bad-nb-words-1:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup bad-nb-words-3:
WARNING: Long output truncated

ae99ea2cc4782d18a2ffc8ef01367f5fa8d350f2 drm-tip: 2017y-03m-01d-22h-54m-20s UTC integration manifest
b36f7a0 drm/i915: Restore the invalid access without RPM warning
0b49f43 drm/i915: Hold rpm during GEM suspend in driver unload/suspend

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_4026/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH v2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend
  2017-03-02  7:41 [PATCH 1/2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend Chris Wilson
  2017-03-02  7:41 ` [PATCH 2/2] drm/i915: Restore the invalid access without RPM warning Chris Wilson
  2017-03-02  8:18 ` ✗ Fi.CI.BAT: warning for series starting with [1/2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend Patchwork
@ 2017-03-02  8:30 ` Chris Wilson
  2017-03-02 12:26   ` Imre Deak
  2017-03-02 10:17 ` ✓ Fi.CI.BAT: success for series starting with [v2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend (rev2) Patchwork
  3 siblings, 1 reply; 8+ messages in thread
From: Chris Wilson @ 2017-03-02  8:30 UTC (permalink / raw)
  To: intel-gfx

i915_gem_suspend() tries to access the device to ensure it is idle and
all writes from the device are flushed to memory. It assumed is already
held the runtime pm wakeref, but we should explicitly acquire it for our
access to be safe.

[  619.926287] WARNING: CPU: 3 PID: 9353 at drivers/gpu/drm/i915/intel_drv.h:1750 gen6_write32+0x23e/0x2a0 [i915]
[  619.926300] RPM wakelock ref not held during HW access
[  619.926311] Modules linked in: vgem x86_pkg_temp_thermal intel_powerclamp snd_hda_codec_hdmi snd_hda_codec_generic snd_hda_codec coretemp snd_hwdep crct10dif_pclmul snd_hda_core crc32_pclmul snd_pcm mei_me mei lpc_ich ghash_clmulni_intel i915(-) sdhci_pci sdhci mmc_core e1000e ptp pps_core prime_numbers [last unloaded: snd_hda_intel]
[  619.926578] CPU: 3 PID: 9353 Comm: drv_module_relo Tainted: G     U          4.10.0-CI-Trybot_609+ #1
[  619.926585] Hardware name: LENOVO 42962WU/42962WU, BIOS 8DET56WW (1.26 ) 12/01/2011
[  619.926592] Call Trace:
[  619.926609]  dump_stack+0x67/0x92
[  619.926625]  __warn+0xc6/0xe0
[  619.926640]  warn_slowpath_fmt+0x4a/0x50
[  619.926726]  gen6_write32+0x23e/0x2a0 [i915]
[  619.926801]  gen6_mm_switch+0x38/0x70 [i915]
[  619.926871]  i915_switch_context+0xec/0xa10 [i915]
[  619.926942]  i915_gem_switch_to_kernel_context+0x13c/0x2b0 [i915]
[  619.927019]  i915_gem_suspend+0x2b/0x180 [i915]
[  619.927079]  i915_driver_unload+0x22/0x200 [i915]
[  619.927093]  ? __this_cpu_preempt_check+0x13/0x20
[  619.927105]  ? trace_hardirqs_on_caller+0xe7/0x200
[  619.927118]  ? trace_hardirqs_on+0xd/0x10
[  619.927128]  ? _raw_spin_unlock_irqrestore+0x3d/0x60
[  619.927192]  i915_pci_remove+0x14/0x20 [i915]
[  619.927205]  pci_device_remove+0x34/0xb0
[  619.927219]  device_release_driver_internal+0x158/0x210
[  619.927234]  driver_detach+0x3b/0x80
[  619.927245]  bus_remove_driver+0x53/0xd0
[  619.927256]  driver_unregister+0x27/0x50
[  619.927267]  pci_unregister_driver+0x25/0xa0
[  619.927351]  i915_exit+0x1a/0xb1a [i915]
[  619.927362]  SyS_delete_module+0x193/0x1e0
[  619.927378]  entry_SYSCALL_64_fastpath+0x1c/0xb1
[  619.927386] RIP: 0033:0x7f82b46c5d37
[  619.927393] RSP: 002b:00007ffdb6f610d8 EFLAGS: 00000246 ORIG_RAX: 00000000000000b0
[  619.927408] RAX: ffffffffffffffda RBX: ffffffff81481ff3 RCX: 00007f82b46c5d37
[  619.927415] RDX: 0000000000000001 RSI: 0000000000000800 RDI: 000000000224f558
[  619.927422] RBP: ffffc90001187f88 R08: 0000000000000000 R09: 00007ffdb6f61100
[  619.927428] R10: 000000000224f4e0 R11: 0000000000000246 R12: 0000000000000000
[  619.927435] R13: 00007ffdb6f612b0 R14: 0000000000000000 R15: 0000000000000000
[  619.927451]  ? __this_cpu_preempt_check+0x13/0x20

or

[  641.646590] WARNING: CPU: 1 PID: 8913 at drivers/gpu/drm/i915/intel_drv.h:1750 intel_runtime_pm_get_noresume+0x8b/0x90 [i915]
[  641.646595] RPM wakelock ref not held during HW access
[  641.646600] Modules linked in: vgem snd_hda_codec_hdmi snd_hda_codec_generic x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_codec snd_hwdep crct10dif_pclmul snd_hda_core crc32_pclmul ghash_clmulni_intel snd_pcm mei_me mei i915(-) r8169 mii prime_numbers i2c_hid [last unloaded: snd_hda_intel]
[  641.646825] CPU: 1 PID: 8913 Comm: drv_module_relo Tainted: G     U          4.10.0-CI-Trybot_609+ #1
[  641.646836] Hardware name: TOSHIBA SATELLITE P50-C/06F4                            , BIOS 1.20 10/08/2015
[  641.646843] Call Trace:
[  641.646857]  dump_stack+0x67/0x92
[  641.646869]  __warn+0xc6/0xe0
[  641.646880]  warn_slowpath_fmt+0x4a/0x50
[  641.646893]  ? __this_cpu_preempt_check+0x13/0x20
[  641.646904]  ? trace_hardirqs_on_caller+0xe7/0x200
[  641.646957]  intel_runtime_pm_get_noresume+0x8b/0x90 [i915]
[  641.647022]  __i915_add_request+0x423/0x540 [i915]
[  641.647080]  i915_gem_switch_to_kernel_context+0x148/0x2b0 [i915]
[  641.647145]  i915_gem_suspend+0x2b/0x180 [i915]
[  641.647189]  i915_driver_unload+0x22/0x200 [i915]
[  641.647200]  ? __this_cpu_preempt_check+0x13/0x20
[  641.647210]  ? trace_hardirqs_on_caller+0xe7/0x200
[  641.647220]  ? trace_hardirqs_on+0xd/0x10
[  641.647231]  ? _raw_spin_unlock_irqrestore+0x3d/0x60
[  641.647276]  i915_pci_remove+0x14/0x20 [i915]
[  641.647293]  pci_device_remove+0x34/0xb0
[  641.647307]  device_release_driver_internal+0x158/0x210
[  641.647321]  driver_detach+0x3b/0x80
[  641.647330]  bus_remove_driver+0x53/0xd0
[  641.647338]  driver_unregister+0x27/0x50
[  641.647348]  pci_unregister_driver+0x25/0xa0
[  641.647415]  i915_exit+0x1a/0xb1a [i915]
[  641.647429]  SyS_delete_module+0x193/0x1e0
[  641.647444]  entry_SYSCALL_64_fastpath+0x1c/0xb1
[  641.647453] RIP: 0033:0x7fc622bd2d37
[  641.647463] RSP: 002b:00007ffff8ffb5c8 EFLAGS: 00000246 ORIG_RAX: 00000000000000b0
[  641.647475] RAX: ffffffffffffffda RBX: ffffffff81481ff3 RCX: 00007fc622bd2d37
[  641.647480] RDX: 0000000000000001 RSI: 0000000000000800 RDI: 0000000000d49118
[  641.647485] RBP: ffffc90000997f88 R08: 0000000000000000 R09: 00007ffff8ffb5f0
[  641.647491] R10: 0000000000d490a0 R11: 0000000000000246 R12: 0000000000000000
[  641.647498] R13: 00007ffff8ffb7a0 R14: 0000000000000000 R15: 0000000000000000
[  641.647510]  ? __this_cpu_preempt_check+0x13/0x20

v2: Keep holding rpm until the end to cover i915_gem_sanitize() as well.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_gem.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 51b690dc81df..26bea59d6ca8 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4186,6 +4186,7 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
 	struct drm_device *dev = &dev_priv->drm;
 	int ret;
 
+	intel_runtime_pm_get(dev_priv);
 	intel_suspend_gt_powersave(dev_priv);
 
 	mutex_lock(&dev->struct_mutex);
@@ -4200,13 +4201,13 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
 	 */
 	ret = i915_gem_switch_to_kernel_context(dev_priv);
 	if (ret)
-		goto err;
+		goto err_unlock;
 
 	ret = i915_gem_wait_for_idle(dev_priv,
 				     I915_WAIT_INTERRUPTIBLE |
 				     I915_WAIT_LOCKED);
 	if (ret)
-		goto err;
+		goto err_unlock;
 
 	i915_gem_retire_requests(dev_priv);
 	GEM_BUG_ON(dev_priv->gt.active_requests);
@@ -4252,11 +4253,12 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
 	 * machine in an unusable condition.
 	 */
 	i915_gem_sanitize(dev_priv);
+	goto out_rpm_put;
 
-	return 0;
-
-err:
+err_unlock:
 	mutex_unlock(&dev->struct_mutex);
+out_rpm_put:
+	intel_runtime_pm_put(dev_priv);
 	return ret;
 }
 
-- 
2.11.0

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

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

* ✓ Fi.CI.BAT: success for series starting with [v2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend (rev2)
  2017-03-02  7:41 [PATCH 1/2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend Chris Wilson
                   ` (2 preceding siblings ...)
  2017-03-02  8:30 ` [PATCH v2] " Chris Wilson
@ 2017-03-02 10:17 ` Patchwork
  3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2017-03-02 10:17 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [v2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend (rev2)
URL   : https://patchwork.freedesktop.org/series/20516/
State : success

== Summary ==

Series 20516v2 Series without cover letter
https://patchwork.freedesktop.org/api/1.0/series/20516/revisions/2/mbox/

Test pm_rpm:
        Subgroup basic-pci-d3-state:
                incomplete -> PASS       (fi-byt-n2820) fdo#99740

fdo#99740 https://bugs.freedesktop.org/show_bug.cgi?id=99740

fi-bdw-5557u     total:278  pass:267  dwarn:0   dfail:0   fail:0   skip:11 
fi-bsw-n3050     total:278  pass:239  dwarn:0   dfail:0   fail:0   skip:39 
fi-bxt-j4205     total:278  pass:259  dwarn:0   dfail:0   fail:0   skip:19 
fi-bxt-t5700     total:278  pass:258  dwarn:0   dfail:0   fail:0   skip:20 
fi-byt-j1900     total:278  pass:251  dwarn:0   dfail:0   fail:0   skip:27 
fi-byt-n2820     total:278  pass:247  dwarn:0   dfail:0   fail:0   skip:31 
fi-hsw-4770      total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16 
fi-hsw-4770r     total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16 
fi-ilk-650       total:278  pass:228  dwarn:0   dfail:0   fail:0   skip:50 
fi-ivb-3520m     total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18 
fi-ivb-3770      total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18 
fi-kbl-7500u     total:278  pass:259  dwarn:1   dfail:0   fail:0   skip:18 
fi-skl-6260u     total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10 
fi-skl-6700hq    total:278  pass:261  dwarn:0   dfail:0   fail:0   skip:17 
fi-skl-6700k     total:278  pass:256  dwarn:4   dfail:0   fail:0   skip:18 
fi-skl-6770hq    total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10 
fi-snb-2520m     total:278  pass:250  dwarn:0   dfail:0   fail:0   skip:28 
fi-snb-2600      total:278  pass:249  dwarn:0   dfail:0   fail:0   skip:29 

b3c4a574937b2256a716b23037c8b94ffebd7c8a drm-tip: 2017y-03m-02d-08h-59m-08s UTC integration manifest
3532991 drm/i915: Restore the invalid access without RPM warning
efcafa1 drm/i915: Hold rpm during GEM suspend in driver unload/suspend

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_4028/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend
  2017-03-02  8:30 ` [PATCH v2] " Chris Wilson
@ 2017-03-02 12:26   ` Imre Deak
  0 siblings, 0 replies; 8+ messages in thread
From: Imre Deak @ 2017-03-02 12:26 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

On Thu, Mar 02, 2017 at 08:30:29AM +0000, Chris Wilson wrote:
> i915_gem_suspend() tries to access the device to ensure it is idle and
> all writes from the device are flushed to memory. It assumed is already
> held the runtime pm wakeref, but we should explicitly acquire it for our
> access to be safe.
> 
> [  619.926287] WARNING: CPU: 3 PID: 9353 at drivers/gpu/drm/i915/intel_drv.h:1750 gen6_write32+0x23e/0x2a0 [i915]
> [  619.926300] RPM wakelock ref not held during HW access
> [  619.926311] Modules linked in: vgem x86_pkg_temp_thermal intel_powerclamp snd_hda_codec_hdmi snd_hda_codec_generic snd_hda_codec coretemp snd_hwdep crct10dif_pclmul snd_hda_core crc32_pclmul snd_pcm mei_me mei lpc_ich ghash_clmulni_intel i915(-) sdhci_pci sdhci mmc_core e1000e ptp pps_core prime_numbers [last unloaded: snd_hda_intel]
> [  619.926578] CPU: 3 PID: 9353 Comm: drv_module_relo Tainted: G     U          4.10.0-CI-Trybot_609+ #1
> [  619.926585] Hardware name: LENOVO 42962WU/42962WU, BIOS 8DET56WW (1.26 ) 12/01/2011
> [  619.926592] Call Trace:
> [  619.926609]  dump_stack+0x67/0x92
> [  619.926625]  __warn+0xc6/0xe0
> [  619.926640]  warn_slowpath_fmt+0x4a/0x50
> [  619.926726]  gen6_write32+0x23e/0x2a0 [i915]
> [  619.926801]  gen6_mm_switch+0x38/0x70 [i915]
> [  619.926871]  i915_switch_context+0xec/0xa10 [i915]
> [  619.926942]  i915_gem_switch_to_kernel_context+0x13c/0x2b0 [i915]
> [  619.927019]  i915_gem_suspend+0x2b/0x180 [i915]
> [  619.927079]  i915_driver_unload+0x22/0x200 [i915]
> [  619.927093]  ? __this_cpu_preempt_check+0x13/0x20
> [  619.927105]  ? trace_hardirqs_on_caller+0xe7/0x200
> [  619.927118]  ? trace_hardirqs_on+0xd/0x10
> [  619.927128]  ? _raw_spin_unlock_irqrestore+0x3d/0x60
> [  619.927192]  i915_pci_remove+0x14/0x20 [i915]
> [  619.927205]  pci_device_remove+0x34/0xb0
> [  619.927219]  device_release_driver_internal+0x158/0x210
> [  619.927234]  driver_detach+0x3b/0x80
> [  619.927245]  bus_remove_driver+0x53/0xd0
> [  619.927256]  driver_unregister+0x27/0x50
> [  619.927267]  pci_unregister_driver+0x25/0xa0
> [  619.927351]  i915_exit+0x1a/0xb1a [i915]
> [  619.927362]  SyS_delete_module+0x193/0x1e0
> [  619.927378]  entry_SYSCALL_64_fastpath+0x1c/0xb1
> [  619.927386] RIP: 0033:0x7f82b46c5d37
> [  619.927393] RSP: 002b:00007ffdb6f610d8 EFLAGS: 00000246 ORIG_RAX: 00000000000000b0
> [  619.927408] RAX: ffffffffffffffda RBX: ffffffff81481ff3 RCX: 00007f82b46c5d37
> [  619.927415] RDX: 0000000000000001 RSI: 0000000000000800 RDI: 000000000224f558
> [  619.927422] RBP: ffffc90001187f88 R08: 0000000000000000 R09: 00007ffdb6f61100
> [  619.927428] R10: 000000000224f4e0 R11: 0000000000000246 R12: 0000000000000000
> [  619.927435] R13: 00007ffdb6f612b0 R14: 0000000000000000 R15: 0000000000000000
> [  619.927451]  ? __this_cpu_preempt_check+0x13/0x20
> 
> or
> 
> [  641.646590] WARNING: CPU: 1 PID: 8913 at drivers/gpu/drm/i915/intel_drv.h:1750 intel_runtime_pm_get_noresume+0x8b/0x90 [i915]
> [  641.646595] RPM wakelock ref not held during HW access
> [  641.646600] Modules linked in: vgem snd_hda_codec_hdmi snd_hda_codec_generic x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_codec snd_hwdep crct10dif_pclmul snd_hda_core crc32_pclmul ghash_clmulni_intel snd_pcm mei_me mei i915(-) r8169 mii prime_numbers i2c_hid [last unloaded: snd_hda_intel]
> [  641.646825] CPU: 1 PID: 8913 Comm: drv_module_relo Tainted: G     U          4.10.0-CI-Trybot_609+ #1
> [  641.646836] Hardware name: TOSHIBA SATELLITE P50-C/06F4                            , BIOS 1.20 10/08/2015
> [  641.646843] Call Trace:
> [  641.646857]  dump_stack+0x67/0x92
> [  641.646869]  __warn+0xc6/0xe0
> [  641.646880]  warn_slowpath_fmt+0x4a/0x50
> [  641.646893]  ? __this_cpu_preempt_check+0x13/0x20
> [  641.646904]  ? trace_hardirqs_on_caller+0xe7/0x200
> [  641.646957]  intel_runtime_pm_get_noresume+0x8b/0x90 [i915]
> [  641.647022]  __i915_add_request+0x423/0x540 [i915]
> [  641.647080]  i915_gem_switch_to_kernel_context+0x148/0x2b0 [i915]
> [  641.647145]  i915_gem_suspend+0x2b/0x180 [i915]
> [  641.647189]  i915_driver_unload+0x22/0x200 [i915]
> [  641.647200]  ? __this_cpu_preempt_check+0x13/0x20
> [  641.647210]  ? trace_hardirqs_on_caller+0xe7/0x200
> [  641.647220]  ? trace_hardirqs_on+0xd/0x10
> [  641.647231]  ? _raw_spin_unlock_irqrestore+0x3d/0x60
> [  641.647276]  i915_pci_remove+0x14/0x20 [i915]
> [  641.647293]  pci_device_remove+0x34/0xb0
> [  641.647307]  device_release_driver_internal+0x158/0x210
> [  641.647321]  driver_detach+0x3b/0x80
> [  641.647330]  bus_remove_driver+0x53/0xd0
> [  641.647338]  driver_unregister+0x27/0x50
> [  641.647348]  pci_unregister_driver+0x25/0xa0
> [  641.647415]  i915_exit+0x1a/0xb1a [i915]
> [  641.647429]  SyS_delete_module+0x193/0x1e0
> [  641.647444]  entry_SYSCALL_64_fastpath+0x1c/0xb1
> [  641.647453] RIP: 0033:0x7fc622bd2d37
> [  641.647463] RSP: 002b:00007ffff8ffb5c8 EFLAGS: 00000246 ORIG_RAX: 00000000000000b0
> [  641.647475] RAX: ffffffffffffffda RBX: ffffffff81481ff3 RCX: 00007fc622bd2d37
> [  641.647480] RDX: 0000000000000001 RSI: 0000000000000800 RDI: 0000000000d49118
> [  641.647485] RBP: ffffc90000997f88 R08: 0000000000000000 R09: 00007ffff8ffb5f0
> [  641.647491] R10: 0000000000d490a0 R11: 0000000000000246 R12: 0000000000000000
> [  641.647498] R13: 00007ffff8ffb7a0 R14: 0000000000000000 R15: 0000000000000000
> [  641.647510]  ? __this_cpu_preempt_check+0x13/0x20
> 
> v2: Keep holding rpm until the end to cover i915_gem_sanitize() as well.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Fixes at least 1c777c5d1dc ("drm/i915/hsw: Fix GPU hang during resume from
S3-devices state")

Reviewed-by: Imre Deak <imre.deak@intel.com>
                  
> ---
>  drivers/gpu/drm/i915/i915_gem.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 51b690dc81df..26bea59d6ca8 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -4186,6 +4186,7 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
>  	struct drm_device *dev = &dev_priv->drm;
>  	int ret;
>  
> +	intel_runtime_pm_get(dev_priv);
>  	intel_suspend_gt_powersave(dev_priv);
>  
>  	mutex_lock(&dev->struct_mutex);
> @@ -4200,13 +4201,13 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
>  	 */
>  	ret = i915_gem_switch_to_kernel_context(dev_priv);
>  	if (ret)
> -		goto err;
> +		goto err_unlock;
>  
>  	ret = i915_gem_wait_for_idle(dev_priv,
>  				     I915_WAIT_INTERRUPTIBLE |
>  				     I915_WAIT_LOCKED);
>  	if (ret)
> -		goto err;
> +		goto err_unlock;
>  
>  	i915_gem_retire_requests(dev_priv);
>  	GEM_BUG_ON(dev_priv->gt.active_requests);
> @@ -4252,11 +4253,12 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
>  	 * machine in an unusable condition.
>  	 */
>  	i915_gem_sanitize(dev_priv);
> +	goto out_rpm_put;
>  
> -	return 0;
> -
> -err:
> +err_unlock:
>  	mutex_unlock(&dev->struct_mutex);
> +out_rpm_put:
> +	intel_runtime_pm_put(dev_priv);
>  	return ret;
>  }
>  
> -- 
> 2.11.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 2/2] drm/i915: Restore the invalid access without RPM warning
  2017-03-02  7:41 ` [PATCH 2/2] drm/i915: Restore the invalid access without RPM warning Chris Wilson
@ 2017-03-02 12:28   ` Imre Deak
  2017-03-02 12:48     ` Chris Wilson
  0 siblings, 1 reply; 8+ messages in thread
From: Imre Deak @ 2017-03-02 12:28 UTC (permalink / raw)
  To: Chris Wilson; +Cc: Imre Deak, intel-gfx

On Thu, Mar 02, 2017 at 07:41:57AM +0000, Chris Wilson wrote:
> A long time ago we turned off the warning as it was too painful, we had
> too much broken code. Turn it back on now as we are mostly clean and
> need to prevent returning to such orangeness.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Imre Deak <imre.deak@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_drv.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index b9d3e26b7023..0e96f4e6c2a1 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -1744,8 +1744,8 @@ assert_rpm_wakelock_held(struct drm_i915_private *dev_priv)
>  	assert_rpm_device_not_suspended(dev_priv);
>  	/* FIXME: Needs to be converted back to WARN_ONCE, but currently causes
>  	 * too much noise. */

The comment can be removed too. Nice!
Reviewed-by: Imre Deak <imre.deak@intel.com>

> -	if (!atomic_read(&dev_priv->pm.wakeref_count))
> -		DRM_DEBUG_DRIVER("RPM wakelock ref not held during HW access");
> +	WARN_ONCE(!atomic_read(&dev_priv->pm.wakeref_count),
> +		  "RPM wakelock ref not held during HW access");
>  }
>  
>  /**
> -- 
> 2.11.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 2/2] drm/i915: Restore the invalid access without RPM warning
  2017-03-02 12:28   ` Imre Deak
@ 2017-03-02 12:48     ` Chris Wilson
  0 siblings, 0 replies; 8+ messages in thread
From: Chris Wilson @ 2017-03-02 12:48 UTC (permalink / raw)
  To: Imre Deak; +Cc: Imre Deak, intel-gfx

On Thu, Mar 02, 2017 at 02:28:47PM +0200, Imre Deak wrote:
> On Thu, Mar 02, 2017 at 07:41:57AM +0000, Chris Wilson wrote:
> > A long time ago we turned off the warning as it was too painful, we had
> > too much broken code. Turn it back on now as we are mostly clean and
> > need to prevent returning to such orangeness.
> > 
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Imre Deak <imre.deak@linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_drv.h | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> > index b9d3e26b7023..0e96f4e6c2a1 100644
> > --- a/drivers/gpu/drm/i915/intel_drv.h
> > +++ b/drivers/gpu/drm/i915/intel_drv.h
> > @@ -1744,8 +1744,8 @@ assert_rpm_wakelock_held(struct drm_i915_private *dev_priv)
> >  	assert_rpm_device_not_suspended(dev_priv);
> >  	/* FIXME: Needs to be converted back to WARN_ONCE, but currently causes
> >  	 * too much noise. */
> 
> The comment can be removed too. Nice!
> Reviewed-by: Imre Deak <imre.deak@intel.com>

Added (to first patch)

	Fixes: 5ab57c702069 ("drm/i915: Flush logical context image out to memory upon suspend")
	Fixes: 1c777c5d1dc ("drm/i915/hsw: Fix GPU hang during resume from S3-devices state")
	Cc: <stable@vger.kernel.org> # v4.9+

and removed the stale comment.

Thanks,
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2017-03-02 12:49 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-02  7:41 [PATCH 1/2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend Chris Wilson
2017-03-02  7:41 ` [PATCH 2/2] drm/i915: Restore the invalid access without RPM warning Chris Wilson
2017-03-02 12:28   ` Imre Deak
2017-03-02 12:48     ` Chris Wilson
2017-03-02  8:18 ` ✗ Fi.CI.BAT: warning for series starting with [1/2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend Patchwork
2017-03-02  8:30 ` [PATCH v2] " Chris Wilson
2017-03-02 12:26   ` Imre Deak
2017-03-02 10:17 ` ✓ Fi.CI.BAT: success for series starting with [v2] drm/i915: Hold rpm during GEM suspend in driver unload/suspend (rev2) Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.