summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorJesse Barnes2011-06-15 23:32:33 +0200
committerKeith Packard2011-07-22 22:37:00 +0200
commit9c54c0dd948d715ccfd79e97d852f80eeb53254a (patch)
tree49f18f67a736684bfee4b6c7f38175cee7e27632 /drivers/gpu/drm/i915/intel_display.c
parentdrm/i915: Initialize RCS ring status page address in intel_render_ring_init_dri (diff)
downloadkernel-qcow2-linux-9c54c0dd948d715ccfd79e97d852f80eeb53254a.tar.gz
kernel-qcow2-linux-9c54c0dd948d715ccfd79e97d852f80eeb53254a.tar.xz
kernel-qcow2-linux-9c54c0dd948d715ccfd79e97d852f80eeb53254a.zip
drm/i915: load the LUT before pipe enable on ILK+
Per the specs and to address https://bugs.freedesktop.org/show_bug.cgi?id=36888. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: stable@kernel.org Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 0f1c799afea1..5609c065aaf4 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2699,14 +2699,18 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc)
I915_WRITE(PF_WIN_SZ(pipe), dev_priv->pch_pf_size);
}
+ /*
+ * On ILK+ LUT must be loaded before the pipe is running but with
+ * clocks enabled
+ */
+ intel_crtc_load_lut(crtc);
+
intel_enable_pipe(dev_priv, pipe, is_pch_port);
intel_enable_plane(dev_priv, plane, pipe);
if (is_pch_port)
ironlake_pch_enable(crtc);
- intel_crtc_load_lut(crtc);
-
mutex_lock(&dev->struct_mutex);
intel_update_fbc(dev);
mutex_unlock(&dev->struct_mutex);