mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 15:34:48 +08:00
drm/i915: Program FW_BLC_SELF on 915G as well
According to Bspec FW_BLC_SELF exists on 915G also. Let's program it. The only open question is whether there's is a memory self-refresh enable bit somewhere as well. For 945G/GM it's in FW_BLC_SELF, for 915GM it's in INSTPM. For 915G I can't find one in the docs. Let's drop a FIXME about this, in case someone with the hardware is ever bored enough to look for it. Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1469804222-12650-2-git-send-email-ville.syrjala@linux.intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
2d1b505647
commit
acb913593a
@ -340,6 +340,11 @@ void intel_set_memory_cxsr(struct drm_i915_private *dev_priv, bool enable)
|
||||
I915_WRITE(FW_BLC_SELF, val);
|
||||
POSTING_READ(FW_BLC_SELF);
|
||||
} else if (IS_I915GM(dev)) {
|
||||
/*
|
||||
* FIXME can't find a bit like this for 915G, and
|
||||
* and yet it does have the related watermark in
|
||||
* FW_BLC_SELF. What's going on?
|
||||
*/
|
||||
val = enable ? _MASKED_BIT_ENABLE(INSTPM_SELF_EN) :
|
||||
_MASKED_BIT_DISABLE(INSTPM_SELF_EN);
|
||||
I915_WRITE(INSTPM, val);
|
||||
@ -1621,7 +1626,7 @@ static void i9xx_update_wm(struct drm_crtc *unused_crtc)
|
||||
if (IS_I945G(dev) || IS_I945GM(dev))
|
||||
I915_WRITE(FW_BLC_SELF,
|
||||
FW_BLC_SELF_FIFO_MASK | (srwm & 0xff));
|
||||
else if (IS_I915GM(dev))
|
||||
else
|
||||
I915_WRITE(FW_BLC_SELF, srwm & 0x3f);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user