diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-07-25 23:09:13 +0100 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-07-26 10:46:07 -0700 |
commit | a392a10367508930607a17ab60b4148f86adf2bc (patch) | |
tree | 54428f668c3e41d94fe3cb2683927bc7603ed5b4 | |
parent | be9a3dbf65a69933b06011f049b1e2fdfa6bc8b9 (diff) | |
download | linux-a392a10367508930607a17ab60b4148f86adf2bc.tar.gz linux-a392a10367508930607a17ab60b4148f86adf2bc.tar.bz2 linux-a392a10367508930607a17ab60b4148f86adf2bc.zip |
drm/i915: Clear any existing dither mode prior to enabling spatial dithering
We cannot the initial configuration set by the BIOS not to have a dither
mode enabled which conflicts with our enabling the Spatial Temporal 1
dither mode for PCH. In particular, the BIOS may either enable temporal
dithering or the Spatial Temporal 2 with the result that we enable pure
temporal dithering. Temporal dithering looks bad and is perceived as a
flicker.
Fixes:
Bug 29248 - [Arrandale] Annoying flicker on internal panel, goes away
after suspend to RAM
https://bugs.freedesktop.org/show_bug.cgi?id=29248
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index ab8162afb4a7..445fdafc131f 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -3736,6 +3736,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, if (dev_priv->lvds_dither) { if (HAS_PCH_SPLIT(dev)) { pipeconf |= PIPE_ENABLE_DITHER; + pipeconf &= ~PIPE_DITHER_TYPE_MASK; pipeconf |= PIPE_DITHER_TYPE_ST01; } else lvds |= LVDS_ENABLE_DITHER; |