Bug 25553

Summary: [945] Enable memory self refresh
Product: xorg Reporter: Li Peng <peng.li>
Component: Driver/intelAssignee: Jesse Barnes <jbarnes>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Li Peng 2009-12-09 17:33:57 UTC
As the discussion in the intel-gfx mailing list, http://lists.freedesktop.org/archives/intel-gfx/2009-December/004991.html, memory self refresh need to be enabled, it can save idle power.


Jesse, I test your patch (http://lists.freedesktop.org/archives/intel-gfx/2009-December/005059.html) in moblin2.1 + 2.6.32 kernel, and see the screen frozen. Would you please give it a try ? Thanks.
Comment 1 Li Peng 2009-12-09 17:41:44 UTC
I tried on Asus eeepc 1000H and Samsung N130, both of them have the same frozen issue. I will try on Aspire One.
Comment 2 Li Peng 2009-12-09 19:58:34 UTC
Test on acer aspire one still fails with this patch, 

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 099f420..03c897c 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2577,7 +2577,9 @@ static void i9xx_update_wm(struct drm_device *dev, int planea_clock,
                srwm = total_size - sr_entries;
                if (srwm < 0)
                        srwm = 1;
-               I915_WRITE(FW_BLC_SELF, FW_BLC_SELF_EN | (srwm & 0x3f));
+               //I915_WRITE(FW_BLC_SELF, FW_BLC_SELF_EN | (srwm & 0x3f));
+               I915_WRITE(FW_BLC_SELF, ((1 << 31) | (1 << 16) | (1 << 15) | (srwm & 0xff)));
+               POSTING_READ(FW_BLC_SELF);
        }

        DRM_DEBUG("Setting FIFO watermarks - A: %d, B: %d, C: %d, SR %d\n",


I got below dmesg.

[   15.698063] [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
[   15.698087] render error detected, EIR: 0x00000000
[   15.698100] i915: Waking up sleeping processes
[   15.698150] [drm:i915_wait_request] *ERROR* i915_wait_request returns -5 (awaiting 1443 at 1435)
[   15.698468] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.698933] reboot required
[   15.699360] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.699545] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.700120] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.700642] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.703888] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.704880] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.705598] render error detected, EIR: 0x00000010
[   15.705608] page table error
[   15.705614]   PGTBL_ER: 0x00000002
[   15.705623] [drm:i915_handle_error] *ERROR* EIR stuck: 0x00000010, masking
[   15.705647] render error detected, EIR: 0x00000010
[   15.705653] page table error
[   15.705658]   PGTBL_ER: 0x00000002
[   15.705730] reboot required
[   15.766980] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.767214] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.767272] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.767304] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.767347] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.767388] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.772580] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.772735] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.773062] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.773156] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
[   15.778592] [drm:i915_gem_execbuffer] *ERROR* Execbuf while wedged
Comment 3 Li Peng 2010-01-12 22:14:03 UTC
Jesse, I retest your patch on latest 2.6.33-rc3, still met same problem.
Comment 4 Jesse Barnes 2010-01-13 09:29:29 UTC
We should probably go ahead with your patch; I replied to Eric that it's ok to apply it, you should ping him again.
Comment 5 Jesse Barnes 2010-01-26 14:49:51 UTC
You fixed this one, thanks:

commit 72ddbd39f39b3cc5f1f661f97e67f2a497c4d57a
Author: Li Peng <peng.li@linux.intel.com>
Date:   Tue Jan 19 21:32:57 2010 +0800

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.