aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/i915_suspend.c
diff options
context:
space:
mode:
authorLi Peng <peng.li@linux.intel.com>2010-01-27 19:01:11 +0800
committerEric Anholt <eric@anholt.net>2010-02-22 11:46:50 -0500
commitee980b8003a25fbfed50c3367f2b426c870eaf90 (patch)
tree1753500fd849e4dd68a4878f31baa95743699535 /drivers/gpu/drm/i915/i915_suspend.c
parentb397c836eff58cd9a43f7bd8b853a51b3ecc3420 (diff)
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 33c5fd121eabbccc9103daf6cda36941eb3c349f by adding disable of INSTPM SR bit on 915GM for two pipe setup] Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_suspend.c')
0 files changed, 0 insertions, 0 deletions