* Warnings on suspend in gen6_gt_force_wake_* on Sandy Bridge
@ 2011-06-16 18:52 Andrey Rahmatullin
2011-06-16 21:36 ` [PATCH] drm/i915: yet another forcewake lock fix Ben Widawsky
0 siblings, 1 reply; 2+ messages in thread
From: Andrey Rahmatullin @ 2011-06-16 18:52 UTC (permalink / raw)
To: intel-gfx, Keith Packard, dri-devel; +Cc: Ben Widawsky
[-- Attachment #1.1: Type: text/plain, Size: 3495 bytes --]
Hello. I'm trying latest Linus tree (v3.0-rc3-135-g19a1166) and the
suspend process generates lots of WARNINGs from i915 driver, this didn't
happen on 2.6.39 and apparently on 3.0-rc2 too.
The hardware is ASUS K53E with i5 2410M, so the chip is Intel HD 3000.
A sample warning:
[ 182.052219] WARNING: at drivers/gpu/drm/i915/i915_drv.c:322 gen6_gt_force_wake_get+0x25/0x9e [i915]()
[ 182.052224] Hardware name: K53E
[ 182.052226] Modules linked in: af_packet rfcomm bnep cpufreq_userspace
cpufreq_stats cpufreq_powersave cpufreq_ondemand acpi_cpufreq freq_table
mperf uinput fuse nfsd nfs lockd fscache auth_rpcgss nfs_acl sunrpc ipv6
snd_hda_codec_hdmi snd_hda_codec_realtek btusb bluetooth uvcvideo videodev
v4l2_compat_ioctl32 crc16 arc4 i915 drm_kms_helper drm asus_nb_wmi ath9k
snd_hda_intel snd_hda_codec asus_wmi i2c_algo_bit mac80211 sparse_keymap
pci_hotplug snd_hwdep snd_pcm ath9k_common ath9k_hw wmi video ath snd_seq
snd_timer intel_agp backlight mei(C) cfg80211 snd_seq_device intel_gtt
i2c_i801 i2c_core snd agpgart evdev soundcore snd_page_alloc battery ac
psmouse processor button dm_mod sg sr_mod cdrom thermal thermal_sys hwmon
usbcore atl1c [last unloaded: ehci_hcd]
[ 182.052288] Pid: 596, comm: kworker/u:7 Tainted: G WC 3.0.0-rc3-wrar-sabine+ #3
[ 182.052293] Call Trace:
[ 182.052296] [<ffffffff81035331>] warn_slowpath_common+0x7e/0x96
[ 182.052301] [<ffffffff8103535e>] warn_slowpath_null+0x15/0x17
[ 182.052308] [<ffffffffa0287437>] gen6_gt_force_wake_get+0x25/0x9e [i915]
[ 182.052316] [<ffffffffa0291192>] i915_read8+0x2d/0x4f [i915]
[ 182.052325] [<ffffffffa0293258>] i915_restore_display+0x1038/0x10b7 [i915]
[ 182.052330] [<ffffffff812dce95>] ? _raw_spin_unlock_irqrestore+0x20/0x2b
[ 182.052339] [<ffffffffa029350e>] i915_restore_state+0x53/0x1f1 [i915]
[ 182.052345] [<ffffffffa02870ef>] i915_drm_thaw+0x4c/0xd3 [i915]
[ 182.052352] [<ffffffffa0287338>] i915_resume+0x40/0x57 [i915]
[ 182.052359] [<ffffffffa0287360>] i915_pm_resume+0x11/0x13 [i915]
[ 182.052363] [<ffffffff811a9846>] pci_pm_resume+0x87/0x9c
[ 182.052366] [<ffffffff81211b96>] pm_op+0xa4/0x144
[ 182.052370] [<ffffffff81050ca5>] ? async_schedule+0x12/0x12
[ 182.052374] [<ffffffff81211ead>] device_resume+0x8e/0xc6
[ 182.052377] [<ffffffff810311a3>] ? try_to_wake_up+0x1be/0x1d0
[ 182.052381] [<ffffffff81211eff>] async_resume+0x1a/0x42
[ 182.052385] [<ffffffff81050d42>] async_run_entry_fn+0x9d/0x14f
[ 182.052389] [<ffffffff81050dbb>] ? async_run_entry_fn+0x116/0x14f
[ 182.052393] [<ffffffff810471aa>] process_one_work+0x13c/0x21e
[ 182.052397] [<ffffffff81047fce>] worker_thread+0xce/0x152
[ 182.052401] [<ffffffff81047f00>] ? manage_workers.isra.29+0x16c/0x16c
[ 182.052405] [<ffffffff8104b22c>] kthread+0x7f/0x87
[ 182.052409] [<ffffffff812de754>] kernel_thread_helper+0x4/0x10
[ 182.052413] [<ffffffff8104b1ad>] ? kthread_worker_fn+0x141/0x141
[ 182.052417] [<ffffffff812de750>] ? gs_change+0xb/0xb
[ 182.052420] ---[ end trace 26bf0be9378ff57c ]---
Then almost the same but with
[ 182.052083] [<ffffffff81035331>] warn_slowpath_common+0x7e/0x96
[ 182.052087] [<ffffffff8103535e>] warn_slowpath_null+0x15/0x17
[ 182.052094] [<ffffffffa02874d4>] gen6_gt_force_wake_put+0x24/0x4d [i915]
[ 182.052102] [<ffffffffa02911a2>] i915_read8+0x3d/0x4f [i915]
These two warnings repeat for a total of 45 times, statring and ending
with _put one.
--
WBR, wRAR
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH] drm/i915: yet another forcewake lock fix
2011-06-16 18:52 Warnings on suspend in gen6_gt_force_wake_* on Sandy Bridge Andrey Rahmatullin
@ 2011-06-16 21:36 ` Ben Widawsky
0 siblings, 0 replies; 2+ messages in thread
From: Ben Widawsky @ 2011-06-16 21:36 UTC (permalink / raw)
To: Andrey Rahmatullin; +Cc: intel-gfx, dri-devel
Resume is missing a locks on gt sleepable registers.
---
drivers/gpu/drm/i915/i915_suspend.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
index 60a94d2..9259dcf 100644
--- a/drivers/gpu/drm/i915/i915_suspend.c
+++ b/drivers/gpu/drm/i915/i915_suspend.c
@@ -780,6 +780,8 @@ void i915_restore_display(struct drm_device *dev)
I915_WRITE(CPU_VGACNTRL, dev_priv->saveVGACNTRL);
else
I915_WRITE(VGACNTRL, dev_priv->saveVGACNTRL);
+
+ mutex_lock(&dev->struct_mutex);
I915_WRITE(VGA0, dev_priv->saveVGA0);
I915_WRITE(VGA1, dev_priv->saveVGA1);
I915_WRITE(VGA_PD, dev_priv->saveVGA_PD);
@@ -787,6 +789,7 @@ void i915_restore_display(struct drm_device *dev)
udelay(150);
i915_restore_vga(dev);
+ mutex_unlock(&dev->struct_mutex);
}
int i915_save_state(struct drm_device *dev)
--
1.7.5.2
--
I can't test this right now because I cannot resume from suspend due to my USB
harddrive not coming back for some reason. I think this should cover the case
you're hitting though.
Ben
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-06-16 21:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-16 18:52 Warnings on suspend in gen6_gt_force_wake_* on Sandy Bridge Andrey Rahmatullin
2011-06-16 21:36 ` [PATCH] drm/i915: yet another forcewake lock fix Ben Widawsky
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox