Bug 31372

Summary: slow arrandale graphics after suspend to ram
Product: Drivers Reporter: john harrigan (ec)
Component: Video(DRI - Intel)Assignee: drivers_video-dri-intel (drivers_video-dri-intel)
Status: RESOLVED CODE_FIX    
Severity: normal CC: alan, chris, robert.de.rooy
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.38 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg before suspend
dmesg from after resume
kernel_page_tables before suspend
kernel_page_tables after resume

Description john harrigan 2011-03-18 12:03:05 UTC
I have a Lenovo X201 laptop with an i7-620M processor.  After I resume
from a Suspend to RAM the graphics are very slow.  Suspend to Disk does
not cause the same problem and doing a Suspend to Disk after a Suspend
to RAM fixes the problem.

According to Chris Wilson from the intel-gfx mailing list:

"Known problem. The PAT lose the WC bits for the GTT aperture on resume.
There is a workaround that we can do: recreate the ioremapping upon
resume. (But the root cause is not a gfx driver bug.)"
Comment 1 john harrigan 2011-03-20 13:37:42 UTC
As a test, I booted with the "nopat" option and the problem went away.
Comment 2 john harrigan 2011-03-20 14:09:45 UTC
Created attachment 51332 [details]
dmesg before suspend
Comment 3 john harrigan 2011-03-20 14:11:27 UTC
Created attachment 51342 [details]
dmesg from after resume
Comment 4 john harrigan 2011-03-20 14:12:21 UTC
Created attachment 51352 [details]
kernel_page_tables before suspend
Comment 5 john harrigan 2011-03-20 14:13:03 UTC
Created attachment 51362 [details]
kernel_page_tables after resume
Comment 6 Andrew Morton 2011-04-08 18:49:14 UTC
Chris, could you please update this report to tell us which part of the kernel needs fixing?  x86?  AGP?

Thanks.
Comment 7 john harrigan 2011-04-16 02:47:48 UTC
If there are any helpful tests or diagnostics I can provide, just let me know.
Comment 8 Chris Wilson 2012-05-12 15:01:00 UTC
commit 84ac7cdbdd0f04df6b96153f7a79127fd6e45467
Author: Suresh Siddha <suresh.b.siddha@intel.com>
Date:   Tue Mar 29 15:38:12 2011 -0700

    x86, mtrr, pat: Fix one cpu getting out of sync during resume
    
    On laptops with core i5/i7, there were reports that after resume
    graphics workloads were performing poorly on a specific AP, while
    the other cpu's were ok. This was observed on a 32bit kernel
    specifically.