drm/i915: Turn on 945 self-refresh only if single CRTC is active
Subsystems (2)
PATCH 1/1 drm/i915: Turn on 945 self-refresh only if single CRTC is active
Enable self-refresh on 945 when just one CRTC is activated. Otherwise user would get display flicker with dual display.
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=27667
--- drivers/gpu/drm/i915/intel_display.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-)
drivers/gpu/drm/i915/intel_display.c +7 -5
@@ -4469,6 +4469,7 @@ static void intel_idle_update(struct work_struct *work)struct drm_device *dev = dev_priv->dev;struct drm_crtc *crtc;struct intel_crtc *intel_crtc; +int enabled =0 ;if (!i915_powersave)return ;
@@ -4477,21 +4478,22 @@ static void intel_idle_update(struct work_struct *work)i915_update_gfx_val (dev_priv); -if (IS_I945G (dev) ||IS_I945GM (dev)) { -DRM_DEBUG_DRIVER ("enable memory self refresh on 945\n" ); -I915_WRITE (FW_BLC_SELF ,FW_BLC_SELF_EN_MASK |FW_BLC_SELF_EN ); - } -list_for_each_entry (crtc, &dev->mode_config.crtc_list, head) {/* Skip inactive CRTCs */ if (!crtc->fb)continue ; + enabled++; intel_crtc =to_intel_crtc (crtc);if (!intel_crtc->busy)intel_decrease_pllclock (crtc); } +if ((enabled ==1 ) && (IS_I945G (dev) ||IS_I945GM (dev))) { +DRM_DEBUG_DRIVER ("enable memory self refresh on 945\n" ); +I915_WRITE (FW_BLC_SELF ,FW_BLC_SELF_EN_MASK |FW_BLC_SELF_EN ); + } +mutex_unlock (&dev->struct_mutex); }
Signature · 1 line
1.6.6.1
Quoted 6 lines · Li Peng
Enable self-refresh on 945 when just one CRTC is activated. Otherwise user would get display flicker with dual display.
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=27667
Signed-off-by Li Peng <[email protected]>
Though I still don't buy the "power saving only matters with one CRTC" argument.
- ajax
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Eric Anholt
AppliedQuoted 4 lines · Li Peng
Enable self-refresh on 945 when just one CRTC is activated. Otherwise user would get display flicker with dual display.
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=27667
Applied. Thanks!
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx