summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorVille Syrjälä2013-10-01 17:02:17 +0200
committerDaniel Vetter2013-10-10 12:47:01 +0200
commit20bc86739b835da21476ea0bf7381f6aab03be64 (patch)
tree627c469af06f2efd608261960f6370db81687153 /drivers/gpu/drm/i915/intel_display.c
parentdrm/i915: Do the fbc vs. primary plane enable/disable in the right order (diff)
downloadkernel-qcow2-linux-20bc86739b835da21476ea0bf7381f6aab03be64.tar.gz
kernel-qcow2-linux-20bc86739b835da21476ea0bf7381f6aab03be64.tar.xz
kernel-qcow2-linux-20bc86739b835da21476ea0bf7381f6aab03be64.zip
drm/i915: Enable/disable IPS when primary is enabled/disabled
IPS should be OK as long as one plane is enabled on the pipe, but it does seem to cause problems when going between primary only and sprite only. This needs more investigations, but for now just disable IPS whenever the primary plane is disabled. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 579becbc46ec..fdaa672f148a 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3329,7 +3329,7 @@ static void intel_disable_planes(struct drm_crtc *crtc)
intel_plane_disable(&intel_plane->base);
}
-static void hsw_enable_ips(struct intel_crtc *crtc)
+void hsw_enable_ips(struct intel_crtc *crtc)
{
struct drm_i915_private *dev_priv = crtc->base.dev->dev_private;
@@ -3344,7 +3344,7 @@ static void hsw_enable_ips(struct intel_crtc *crtc)
I915_WRITE(IPS_CTL, IPS_ENABLE);
}
-static void hsw_disable_ips(struct intel_crtc *crtc)
+void hsw_disable_ips(struct intel_crtc *crtc)
{
struct drm_device *dev = crtc->base.dev;
struct drm_i915_private *dev_priv = dev->dev_private;