Bug 76055

Summary: [PNV/ILK regression WARN] i915_set_reset_status() unimplemented
Product: DRI Reporter: lu hua <huax.lu>
Component: DRM/IntelAssignee: Mika Kuoppala <mika.kuoppala>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg
none
drm/i915: Switch to fake context on older gens
none
dmesg(patch) none

Description lu hua 2014-03-12 06:06:30 UTC
Created attachment 95636 [details]
dmesg

system Environment:
--------------------------
Platform: Pineview/Ironlake
Kernel: drm-intel-nightly/0cfec5c5de398d725b866528df93e3d198ce385f

Bug detailed description:
-----------------------------
run ./drv_hangman, warning and call trace report in dmesg. It happens on Pineview/Ironlake with -queued kernel and -nightly kernel.

The latest known good commit: 5b2ff3a84a979e42eaf860b4fa25e5b320f38585
The latest known bad commit: 8b6124a633d8095b0c8364f585edff9c59568a96

output:
checking /sys/kernel/debug/dri/0/i915_error_state
rings stopped
gpu hang correctly detected
checking /sys/class/drm/card0/error
rings stopped
gpu hang correctly detected

[   56.698710] [drm:i915_gem_open],
[   60.797612] [drm] stuck on render ring
[   60.797709] [drm] GPU crash dump saved to /sys/class/drm/card0/error
[   60.797751] [drm] GPU hangs can indicate a bug anywhere in the entire gfx stack, including userspace.
[   60.797794] [drm] Please file a _new_ bug report on bugs.freedesktop.org against DRI -> DRM/Intel
[   60.797833] [drm] drm/i915 developers can then reassign to the right component if it's not a kernel issue.
[   60.797875] [drm] The gpu crash dump is required to analyze gpu hangs, so please always attach it.
[   60.800748] [drm:i915_error_work_func], resetting chip
[   60.800813] ------------[ cut here ]------------
[   60.800866] WARNING: CPU: 3 PID: 3238 at drivers/gpu/drm/i915/i915_gem.c:2342 i915_gem_reset+0xb4/0x31d [i915]()
[   60.800914] Modules linked in: dm_mod iTCO_wdt iTCO_vendor_support snd_hda_codec_hdmi snd_hda_codec_realtek pcspkr serio_raw firewire_ohci i2c_i801 lpc_ich firewire_core mfd_core crc_itu_t snd_hda_intel r8169 snd_hda_codec snd_hwdep snd_pcm snd_page_alloc snd_timer snd soundcore floppy acpi_cpufreq i915 video button drm_kms_helper drm
[   60.801158] CPU: 3 PID: 3238 Comm: kworker/3:2 Not tainted 3.13.0_drm-intel-next-queued_8b6124_20140131+ #3249
[   60.801212] Hardware name: Gigabyte Technology Co., Ltd. H55M-UD2H/H55M-UD2H, BIOS F4 12/02/2009
[   60.801269] Workqueue: events i915_error_work_func [i915]
[   60.801298]  0000000000000000 0000000000000009 ffffffff8171193b 0000000000000000
[   60.801345]  ffffffff810331ce 0000000000000009 ffffffffa00711be 0000000000000206
[   60.801401]  ffff880002cf9738 ffff880002e21720 0000000000000000 ffff8800d36da800
[   60.801459] Call Trace:
[   60.801481]  [<ffffffff8171193b>] ? dump_stack+0x41/0x51
[   60.801513]  [<ffffffff810331ce>] ? warn_slowpath_common+0x73/0x8b
[   60.801550]  [<ffffffffa00711be>] ? i915_gem_reset+0xb4/0x31d [i915]
[   60.801591]  [<ffffffffa00711be>] ? i915_gem_reset+0xb4/0x31d [i915]
[   60.801628]  [<ffffffff812cdcfa>] ? kobject_uevent_env+0x3e5/0x427
[   60.801667]  [<ffffffffa005ea96>] ? i915_reset+0x35/0x123 [i915]
[   60.801711]  [<ffffffffa006432a>] ? i915_error_work_func+0xc3/0x11a [i915]
[   60.801752]  [<ffffffff8104487b>] ? process_one_work+0x1bc/0x2ed
[   60.801784]  [<ffffffff810427f8>] ? pwq_activate_delayed_work+0x1e/0x28
[   60.801814]  [<ffffffff81044de9>] ? worker_thread+0x1c7/0x2bc
[   60.801841]  [<ffffffff81044c22>] ? rescuer_thread+0x251/0x251
[   60.801869]  [<ffffffff81049882>] ? kthread+0xc5/0xcd
[   60.801894]  [<ffffffff810497bd>] ? kthread_freezable_should_stop+0x40/0x40
[   60.801927]  [<ffffffff8171be7c>] ? ret_from_fork+0x7c/0xb0
[   60.801955]  [<ffffffff810497bd>] ? kthread_freezable_should_stop+0x40/0x40
[   60.801986] ---[ end trace 3840533e2d6e6062 ]---
[   60.802049] [drm] Simulated gpu hang, resetting stop_rings


Reproduce steps:
----------------------------
1. ./drv_hangman
Comment 1 Mika Kuoppala 2014-03-12 15:39:06 UTC
Created attachment 95669 [details] [review]
drm/i915: Switch to fake context on older gens
Comment 2 Mika Kuoppala 2014-03-12 15:39:28 UTC
Does the attached patch help?
Comment 3 lu hua 2014-03-13 07:06:16 UTC
(In reply to comment #1)
> Created attachment 95669 [details] [review] [review]
> drm/i915: Switch to fake context on older gens

Fixed by this patch.
Comment 4 lu hua 2014-03-13 07:06:35 UTC
Created attachment 95691 [details]
dmesg(patch)
Comment 5 Jani Nikula 2014-03-13 07:56:59 UTC
(In reply to comment #1)
> Created attachment 95669 [details] [review] [review]
> drm/i915: Switch to fake context on older gens

Mika, have you posted this on intel-gfx?
Comment 6 Mika Kuoppala 2014-03-14 14:23:16 UTC
Patch posted.
Comment 7 Mika Kuoppala 2014-03-20 08:03:52 UTC
Fixed by

commit a95f6a007042e76627d9722cb1a81f97c718f74b
Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Date:   Fri Mar 14 16:22:10 2014 +0200
Comment 8 lu hua 2014-03-21 02:31:47 UTC
Verified.Fixed.
Comment 9 Jari Tahvanainen 2017-08-15 06:51:26 UTC
Closing old verified+fixed.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.