Bug 87180

Summary: [SNB+ Bisected]igt/pm_rpm/legacy-planes causes drivers/gpu/drm/i915/intel_uncore.c:47 assert_device_not_suspended+0x45/0x5b
Product: DRI Reporter: lu hua <huax.lu>
Component: DRM/IntelAssignee: Matt Roper <matthew.d.roper>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: high CC: intel-gfx-bugs, przanoni
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg none

Description lu hua 2014-12-10 03:35:45 UTC
Created attachment 110664 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes
good commit: 372ee59699d9704086dadb084209542d10e28851
bad commit: b05ddd4dfb6303ee9dde359ec913aa7a918fd81

Non-working platforms:  snb+

==kernel==
--------------------------
drm-intel-nightly/34d267c2ba9c0845432baf959a2c4deed87f3ee4
drm-intel-next-queued/b05ddd4dfb6303ee9dde359ec913aa7a918fd81
drm-intel-fixes/b0616c5306b342ceca07044dbc4f917d95c4f825

==Bug detailed description==
-----------------------------


[root@x-hsw24 tests]# ./pm_rpm --run-subtest legacy-planes
IGT-Version: 1.8-gf333981 (x86_64) (Linux: 3.18.0_drm-intel-nightly_34d267_20141210+ x86_64)
Runtime PM support: 1
PC8 residency support: 0
Subtest legacy-planes: SUCCESS (8.692s)

[   36.874667] ------------[ cut here ]------------
[   36.874688] WARNING: CPU: 0 PID: 3931 at drivers/gpu/drm/i915/intel_uncore.c:47 assert_device_not_suspended+0x45/0x5b [i915]()
[   36.874689] Device suspended
[   36.874690] Modules linked in: ip6table_filter ip6_tables ipv6 iptable_filter ip_tables ebtable_nat ebtables x_tables dm_mod snd_hda_codec_realtek snd_hda_codec_generic iTCO_
wdt iTCO_vendor_support snd_hda_codec_hdmi dcdbas serio_raw pcspkr i2c_i801 snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep lpc_ich mfd_core shpchp snd_pcm snd_timer sn
d soundcore battery acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
[   36.874704] CPU: 0 PID: 3931 Comm: pm_rpm Not tainted 3.18.0_drm-intel-nightly_34d267_20141210+ #2456
[   36.874705] Hardware name: Dell Inc. OptiPlex 9020/0DNKMN, BIOS A03 09/17/2013
[   36.874707]  0000000000000000 0000000000000009 ffffffff8178d5e2 ffff88011936f9d8
[   36.874709]  ffffffff8103a8cc ffff88011936f9e8 ffffffffa00bd497 0000000000000246
[   36.874710]  0000000000070294 0000000000070294 ffff880002cd0068 ffff880002cd0060
[   36.874712] Call Trace:
[   36.874716]  [<ffffffff8178d5e2>] ? dump_stack+0x41/0x51
[   36.874720]  [<ffffffff8103a8cc>] ? warn_slowpath_common+0x78/0x90
[   36.874728]  [<ffffffffa00bd497>] ? assert_device_not_suspended+0x45/0x5b [i915]
[   36.874730]  [<ffffffff8103a97c>] ? warn_slowpath_fmt+0x45/0x4a
[   36.874736]  [<ffffffffa00bd497>] ? assert_device_not_suspended+0x45/0x5b [i915]
[   36.874742]  [<ffffffffa00c103f>] ? gen6_read32+0x26/0x101 [i915]
[   36.874749]  [<ffffffffa00dfad4>] ? ivb_get_colorkey+0x31/0xcc [i915]
[   36.874755]  [<ffffffffa00dfe11>] ? intel_commit_sprite_plane+0xb6/0x32a [i915]
[   36.874763]  [<ffffffffa00ce9ec>] ? intel_pin_and_fence_fb_obj+0x10b/0x115 [i915]
[   36.874770]  [<ffffffffa00d85ed>] ? intel_update_plane+0x132/0x196 [i915]
[   36.874776]  [<ffffffffa00d85ed>] ? intel_update_plane+0x132/0x196 [i915]
[   36.874782]  [<ffffffffa00c6ab5>] ? intel_disable_plane+0x77/0x7c [i915]
[   36.874787]  [<ffffffffa00237a3>] ? drm_modeset_lock+0x52/0xb3 [drm]
[   36.874792]  [<ffffffffa0018d10>] ? __setplane_internal+0x4a/0x29a [drm]
[   36.874795]  [<ffffffffa0023bde>] ? drm_modeset_lock_all_crtcs+0x62/0x81 [drm]
[   36.874798]  [<ffffffffa0023d55>] ? __drm_modeset_lock_all+0xc8/0xf2 [drm]
[   36.874803]  [<ffffffffa001b7c9>] ? drm_mode_setplane+0x19a/0x1e4 [drm]
[   36.874806]  [<ffffffffa0010740>] ? drm_ioctl+0x279/0x3bc [drm]
[   36.874809]  [<ffffffff8133cbd6>] ? sprintf+0x46/0x4b
[   36.874813]  [<ffffffffa001b62f>] ? drm_mode_getplane+0xcb/0xcb [drm]
[   36.874815]  [<ffffffff813e6dd2>] ? rtpm_status_show+0x6a/0x78
[   36.874817]  [<ffffffff813e6d68>] ? control_show+0x37/0x37
[   36.874819]  [<ffffffff813dfc33>] ? dev_attr_show+0x17/0x48
[   36.874821]  [<ffffffff81168ad6>] ? kernfs_seq_start+0x24/0x7a
[   36.874823]  [<ffffffff81169cd5>] ? sysfs_kf_seq_show+0x79/0xc3
[   36.874825]  [<ffffffff81168aa8>] ? kernfs_seq_stop+0x10/0x1a
[   36.874827]  [<ffffffff8111e6df>] ? do_vfs_ioctl+0x3ec/0x435
[   36.874829]  [<ffffffff810a14fe>] ? __audit_syscall_entry+0xb2/0xd2
[   36.874831]  [<ffffffff8100d2e0>] ? syscall_trace_enter_phase1+0x11e/0x127
[   36.874832]  [<ffffffff8111e771>] ? SyS_ioctl+0x49/0x78
[   36.874834]  [<ffffffff810a1727>] ? __audit_syscall_exit+0x209/0x225
[   36.874836]  [<ffffffff81792c92>] ? system_call_fastpath+0x12/0x17
[   36.874837] ---[ end trace 8c17f97eab7ce3ca ]---

Reproduce steps:
-------------------------
1. ./pm_rpm --run-subtest legacy-planes
Comment 1 Paulo Zanoni 2014-12-12 16:40:26 UTC
Hi

Can you please bisect this for us?

Thanks,
Paulo
Comment 2 Paulo Zanoni 2014-12-12 17:58:01 UTC
Ok, so I got curious why this was not "caught" by PRTS so I decided to bisect it myself.

Apparently, what happened is:
- The test was PASSing
- Then some commit made it execute BUG()
- Then some commit fixed the BUG(), but started giving us WARN()s.

Apparently the first bad commit is:

6beb8c23ebcc3d3287d8a247d11b73d7d0eaa475
drm/i915: Consolidate plane 'prepare' functions (v2)

Matt, can you please take a look at this?
Comment 3 Jani Nikula 2014-12-15 18:41:25 UTC
Does this fix the issue? http://patchwork.freedesktop.org/patch/38964
Comment 4 lu hua 2014-12-16 03:15:34 UTC
(In reply to Paulo Zanoni from comment #2)
> Ok, so I got curious why this was not "caught" by PRTS so I decided to
> bisect it myself.
> 
> Apparently, what happened is:
> - The test was PASSing
> - Then some commit made it execute BUG()
> - Then some commit fixed the BUG(), but started giving us WARN()s.
> 
> Apparently the first bad commit is:
> 
> 6beb8c23ebcc3d3287d8a247d11b73d7d0eaa475
> drm/i915: Consolidate plane 'prepare' functions (v2)
> 
> Matt, can you please take a look at this?

I confirmed your bisect result. Thanks.
commit 6beb8c23ebcc3d3287d8a247d11b73d7d0eaa475
Author:     Matt Roper <matthew.d.roper@intel.com>
AuthorDate: Mon Dec 1 15:40:14 2014 -0800
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Sat Dec 6 01:46:24 2014 +0100

    drm/i915: Consolidate plane 'prepare' functions (v2)

    The 'prepare' step for all types of planes are pretty similar;
    consolidate the three 'prepare' functions into a single function.  This
    paves the way for future integration with the atomic plane handlers.

    Note that we pull the 'wait for pending flips' functionality out of the
    primary plane's prepare step and place it directly in the 'setplane'
    code.  When we move to the atomic plane handlers, this code will be in
    the 'atomic begin' step.

    v2: Update GEM fb tracking for physical cursors also (Ander)

    Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
    Reviewed-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

(In reply to Jani Nikula from comment #3)
> Does this fix the issue? http://patchwork.freedesktop.org/patch/38964

Apply this patch, it works well.
Comment 5 Matt Roper 2014-12-24 18:18:01 UTC
Should be fixed now by commit:

  commit 140fd38dc4962ae3694f81900b51c567df1b6d33
  Author: Matt Roper <matthew.d.roper@intel.com>
  Date:   Mon Dec 15 10:11:53 2014 -0800

      drm/i915: Hold runtime PM during plane commit

which has been merged to di-nightly.  Please re-open if you still see an issue.
Comment 6 lu hua 2015-01-04 03:11:18 UTC
Verified.Fixed.
Comment 7 Elizabeth 2017-10-06 14:33:12 UTC
Closing old verified.

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.