Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit ee980b80 authored by Li Peng's avatar Li Peng Committed by Eric Anholt
Browse files

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: default avatarLi Peng <peng.li@intel.com>
[anholt: rebased against 33c5fd12
by adding disable of INSTPM SR bit on 915GM for two pipe setup]
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
parent b397c836
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment