Bug 90253

Summary: [SNB]System fails to suspend from second time in "drm_suspend_s3" test
Product: DRI Reporter: chen hao <haox.chen>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: christophe.prigent, gary.c.wang, intel-gfx-bugs
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: SNB i915 features: power/suspend-resume
Attachments:
Description Flags
dmesg none

Description chen hao 2015-04-30 09:11:22 UTC
Created attachment 115470 [details]
dmesg

System Environment
--------------------------
Regression: Yes. Good commit: d600654ab94b325f253e267422dcf60302120ea0

Non-working platforms: SandyBridge

Bug detailed description
--------------------------
1.echo mem > /sys/power/state
2.resume the machine
3.repeat the above steps for 5 times
=> The system fail to suspend from second time.

Dmesg shows:
[  101.825551] Call Trace:
[  101.825556]  <IRQ>  [<ffffffff81795847>] ? dump_stack+0x40/0x50
[  101.825559]  [<ffffffff8103bd5a>] ? warn_slowpath_common+0x98/0xb0
[  101.825561]  [<ffffffff81700aef>] ? dev_watchdog+0x171/0x1d7
[  101.825563]  [<ffffffff8103bdb7>] ? warn_slowpath_fmt+0x45/0x4a
[  101.825564]  [<ffffffff81700aef>] ? dev_watchdog+0x171/0x1d7
[  101.825566]  [<ffffffff8170097e>] ? dev_graft_qdisc+0x66/0x66
[  101.825568]  [<ffffffff8107bbff>] ? call_timer_fn+0x30/0xd0
[  101.825570]  [<ffffffff8170097e>] ? dev_graft_qdisc+0x66/0x66
[  101.825571]  [<ffffffff8107c39d>] ? run_timer_softirq+0x1c0/0x21b
[  101.825574]  [<ffffffff81087bb4>] ? tick_sched_timer+0x2f/0x55
[  101.825576]  [<ffffffff8103e9d9>] ? __do_softirq+0xd6/0x22d
[  101.825577]  [<ffffffff8103ec64>] ? irq_exit+0x34/0x78
[  101.825580]  [<ffffffff81026bb6>] ? smp_apic_timer_interrupt+0x39/0x43
[  101.825582]  [<ffffffff8179beea>] ? apic_timer_interrupt+0x6a/0x70
[  101.825585]  <EOI>  [<ffffffff816af580>] ? ladder_select_state+0x161/0x161
[  101.825586]  [<ffffffff816af580>] ? ladder_select_state+0x161/0x161
[  101.825589]  [<ffffffff8106541e>] ? cpu_startup_entry+0x262/0x350
[  101.825591] ---[ end trace 8f778530c6e3a543 ]---
[  101.833536] [drm] stuck on render ring
[  101.833919] [drm] GPU HANG: ecode 6:0:0x00d3ffe0, reason: Ring hung, action: reset
[  101.833941] [drm:i915_reset_and_wakeup] resetting chip
[  101.833963] i915 0000:00:02.0: GEM idle failed, resume might fail
[  101.833975] pci_pm_suspend(): i915_pm_suspend+0x0/0x3f [i915] returns -11
[  101.833978] dpm_run_callback(): pci_pm_suspend+0x0/0xf6 returns -11
[  101.833981] PM: Device 0000:00:02.0 failed to suspend async: error -11
[  101.834020] PM: Some devices failed to suspend, or early wake event detected
[  101.834197] rtc_cmos 00:02: System wakeup disabled by ACPI
[  101.834779] serial 00:04: activated
[  101.835979] drm/i915: Resetting chip after gpu hang
[  101.855657] sd 0:0:0:0: [sda] Starting disk
[  101.858584] tpm_tis 00:05: TPM is disabled/deactivated (0x7)
[  101.994590] PM: resume of devices complete after 160.383 msecs
[  102.029304] PM: Finishing wakeup.
[  102.029305] Restarting tasks ... done.
----------------------------------------------------------

==Reproduce steps==
----------------------------
1.echo mem > /sys/power/state
2.resume the machine
3.repeat step 1-2 5 times.
Result:
The system fail to suspend from second time.
Comment 1 Ander Conselvan de Oliveira 2015-05-11 13:05:37 UTC
Could you please bisect?
Comment 2 Ander Conselvan de Oliveira 2015-05-11 13:09:29 UTC
*** Bug 90252 has been marked as a duplicate of this bug. ***
Comment 3 xubin 2015-06-19 07:04:21 UTC
Test with the latest drm-intel-nightly kernel(commit 2a36ab374449e3794b4be6be01f1a47cb6ee5b83)on SNB platform,the issue still exist.
Bisect result:
Bisect shows 5c5f645773b6d147bf68c350674dc3ef4f8de83d is the first bad commit.
commit 5c5f645773b6d147bf68c350674dc3ef4f8de83d
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue Apr 14 17:35:14 2015 +0200

    drm/i915: Unify aliasing ppgtt handling

    With the dynamic pagetable alloc code aliasing ppgtt special-cases
    where again mixed in all over the place with the low-level init code.

    Extract the va preallocation and clearing again into the common code
    where aliasing ppgtt gets set up.

    Note that with this we don't set the size of the aliasing ppgtt to the
    size of the parent ggtt address space. Which isn't required at all
    since except for the ppgtt setup/cleanup code no one ever looks at
    this.

    Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Comment 4 Imre Deak 2016-09-27 12:33:14 UTC
Could you try the drm-intel-nightly branch from:
git://anongit.freedesktop.org/drm-intel ?
Comment 5 Elizabeth 2017-07-28 22:26:54 UTC
Closing for inactivity from submitter. If problem arise, please file new bug with all information needed. Thank you.

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.