linux/drivers/gpu/drm/i915
Li Peng ee980b8003 drm/i915: enable memory self refresh on 9xx
Enabling memory self refresh (SR) on 9xx needs to set additional
register bits. On 945, we need bit 31 of FW_BLC_SELF to enable the
write to self refresh bit and bit 16 to enable the write of self
refresh watermark. On 915, bit 12 of INSTPM is used to enable SR.

SR will take effect when CPU enters C3+ state and its entry/exit
should be automatically controlled by H/W, driver only needs to set
SR enable bits in wm update. But this isn't safe in my test on 945
because GPU is hung. So this patch explicitly enables SR when GPU
is idle, and disables SR when it is busy. In my test on a netbook of
945GSE chipset, it saves about 0.8W idle power.

Signed-off-by: Li Peng <peng.li@intel.com>
[anholt: rebased against 33c5fd121e
by adding disable of INSTPM SR bit on 915GM for two pipe setup]
Signed-off-by: Eric Anholt <eric@anholt.net>
2010-02-22 11:46:50 -05:00
..
Makefile Merge remote branch 'anholt/drm-intel-next' into drm-linus 2009-12-08 14:03:47 +10:00
dvo.h drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_ch7xxx.c drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in DVO output code. 2009-11-05 14:47:12 -08:00
dvo_ch7017.c drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in DVO output code. 2009-11-05 14:47:12 -08:00
dvo_ivch.c drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in DVO output code. 2009-11-05 14:47:12 -08:00
dvo_sil164.c drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in DVO output code. 2009-11-05 14:47:12 -08:00
dvo_tfp410.c drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in DVO output code. 2009-11-05 14:47:12 -08:00
i915_debugfs.c drm/i915: Selectively enable self-reclaim 2010-01-27 09:26:43 -08:00
i915_dma.c drm/i915: Keep MCHBAR always enabled 2010-02-16 11:48:43 -08:00
i915_drv.c drm/i915: Fix crash while aborting hibernation 2010-02-10 17:34:33 -08:00
i915_drv.h drm/i915: Keep MCHBAR always enabled 2010-02-16 11:48:43 -08:00
i915_gem.c drm/i915: Don't reserve compatibility fence regs in KMS mode. 2010-02-16 11:48:44 -08:00
i915_gem_debug.c drm/i915: Catch up to obj_priv->page_list rename in disabled debug code. 2009-06-22 20:19:39 -07:00
i915_gem_tiling.c drm/i915: Keep MCHBAR always enabled 2010-02-16 11:48:43 -08:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c drm/i915: fix flip done interrupt on Ironlake 2010-02-10 14:34:13 -08:00
i915_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i915_opregion.c drm/i915: Fix product names and #defines 2009-12-07 14:55:56 -08:00
i915_reg.h drm/i915: enable memory self refresh on 9xx 2010-02-22 11:46:50 -05:00
i915_suspend.c drm/i915: Fix RC6 suspend/resume 2010-01-06 09:39:53 -08:00
i915_trace.h drm/i915: Enable irq to trace batch buffer completion. 2009-09-29 03:15:25 +01:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
intel_bios.c drm/i915: parse eDP panel color depth from VBT block 2010-01-15 14:12:47 -08:00
intel_bios.h drm/i915: parse eDP panel color depth from VBT block 2010-01-15 14:12:47 -08:00
intel_crt.c drm/i915: disable hotplug detect before Ironlake CRT detect 2010-01-25 08:52:54 -08:00
intel_display.c drm/i915: enable memory self refresh on 9xx 2010-02-22 11:46:50 -05:00
intel_dp.c drm/i915: fix eDP pipe mask 2010-01-15 14:13:18 -08:00
intel_drv.h drm/i915: restore render clock gating on resume 2009-12-08 06:32:51 -08:00
intel_dvo.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_fb.c drm/i915: Increase fb alignment to 64k 2010-02-10 13:41:29 -08:00
intel_hdmi.c drm/i915: Don't use the child device parsed from VBT to setup HDMI/DP 2010-01-12 14:40:03 -08:00
intel_i2c.c drm/i915: Fix product names and #defines 2009-12-07 14:55:56 -08:00
intel_lvds.c drm/i915: slow acpi_lid_open() causes flickering - V2 2010-02-04 08:36:45 -08:00
intel_modes.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
intel_overlay.c drm/i915: Fix product names and #defines 2009-12-07 14:55:56 -08:00
intel_sdvo.c drm/i915: Add support for SDVO composite TV 2010-01-29 14:35:32 -08:00
intel_sdvo_regs.h drm/i915: enable sdvo lvds scaling function. 2009-07-01 11:44:45 -07:00
intel_tv.c drm/i915: disable TV hotplug status check 2010-01-07 10:00:39 -08:00