Bug 91203

Summary: [SKL Regression] S3 resume causes system hang, with i915 enabled
Product: DRI Reporter: xubin <bin.a.xu>
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: critical    
Priority: highest CC: gary.c.wang, intel-gfx-bugs, libin.yang
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: SKL i915 features: power/suspend-resume

Description xubin 2015-07-03 02:32:19 UTC
==System Environment==
--------------------------
Regression: Yes. Good commit: 186047de2f57b1ed4d1bd52f824b88b25275d378. 
Bisect in progressing
Non-working platform: SKLY

==kernel==
nightly: d762ba10e78661f3d1aa97e4063ffe7650fc5b6d (fails)
drm-intel-nightly: 2015y-07m-02d-20h-25m-48s UTC integration manifest

==Bug detailed description==
-----------------------------
With the latest drm-intel-nightly kernel, system hangs while resume-from-memory,
but with "modprobe.blacklist=i915 nomodeset" cmdline in the kernel command line, the suspend/resume works.

==Reproduce steps==
1.Boot the system
2.echo mem > /sys/power/state
3 Resume by pressing power button

But run the test again with  "modprobe.blacklist=i915 nomodeset" in the kernel command cmdline, the system resume normally.
Comment 1 cprigent 2015-07-03 19:23:11 UTC
We also reproduce it.

Hardware
Platform: SKY LAKE Y A0 
CPU : Intel(R) Core(TM) m3-6Y30 CPU @ 0.8GHz 4MB (family: 6, model: 78  stepping: 3)
MCP : SKL-Y  D1  2+2 (ou ULX-D1)
QDF : QYV3 
CPU : SKL D0
Chipset PCH: Sunrise Point LP C1       
CRB : SKY LAKE Y LPDDR3 RVP3 CRB FAB2
Reworks : All Mandatories + FBS02 & FBS03, O-06
[‎7/‎3/‎2015 11:56 AM] Prigent, Christophe: 
Software 
Linux : Ubuntu 14.04 LTS 64 bits
BIOS : SKLSE2R1.R00.X085.B02.150601337
ME FW : 11.0.0.1149
Ksc (EC FW): 1.15
Kernel 4.1.0 from git://anongit.freedesktop.org/drm-intel branch drm-intel-nighlty 28b121260e4becad301d454a5da68945c9c66564
cairo (master) 93422b3cb5e0ef8104b8194c8873124ce2f5ea2d
drm (master) b2360626c4aa1dccdf3fe258b833121748d64d35
intel-driver (master) f3f74ea23601750078215fad04dde6748364b88d
libva (master) 0f88a645ab3cea69d63371189e53cd465ab95a20
mesa (master) 24b043aab73ce066ded6e4bc93f589008dfc8484
xf86-video-intel (master) baec802b21387d04aebb10ac29e719a1800c5aa0
Comment 2 Patrik Jakobsson 2015-07-08 07:39:30 UTC
The bad commit is eddfcbcdc27fbecb33bff098967bbdd7ca75bfa6

I posted a patch to fix this yesterday:
http://lists.freedesktop.org/archives/intel-gfx/2015-July/071033.html

Not sure if this will be the accepted solution.
Comment 3 xubin 2015-07-08 08:38:22 UTC
Test with the patch on SKLY platform,the issue didn't exist.
Comment 4 Gordon Jin 2015-07-08 08:46:18 UTC
let's keep it open until the fix landed into drm-intel tree.
Comment 5 Patrik Jakobsson 2015-07-08 11:55:31 UTC
The thing being discussed right now is whether we're doing unnecessary calls to intel_update_watermarks(). The above patch is the only one right now that keeps crtcs and watermarks in sync but might not be the solution we're looking for (or hides a different underlying problem).
Comment 6 Patrik Jakobsson 2015-07-08 13:35:38 UTC
Sent a v2 of the patch that doesn't touch intel_disable_shared_dpll()

http://lists.freedesktop.org/archives/intel-gfx/2015-July/071154.html
Comment 7 xubin 2015-07-09 02:26:16 UTC
Test with the second patch on SKLY platform ,the issue didn't exist.
Comment 8 Damien Lespiau 2015-07-13 10:43:01 UTC
Patch is now in -nightly.
Comment 9 xubin 2015-07-14 07:08:11 UTC
Test with latest nightly kernel (commit 39c8d0f886e9496eba420b1b5554bd1fa0c5c337) on SKY platform,the issue didn't exist,so 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.