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>
This commit is contained in:
Родитель
be9a3dbf65
Коммит
a392a10367
|
@ -3736,6 +3736,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
|
||||||
if (dev_priv->lvds_dither) {
|
if (dev_priv->lvds_dither) {
|
||||||
if (HAS_PCH_SPLIT(dev)) {
|
if (HAS_PCH_SPLIT(dev)) {
|
||||||
pipeconf |= PIPE_ENABLE_DITHER;
|
pipeconf |= PIPE_ENABLE_DITHER;
|
||||||
|
pipeconf &= ~PIPE_DITHER_TYPE_MASK;
|
||||||
pipeconf |= PIPE_DITHER_TYPE_ST01;
|
pipeconf |= PIPE_DITHER_TYPE_ST01;
|
||||||
} else
|
} else
|
||||||
lvds |= LVDS_ENABLE_DITHER;
|
lvds |= LVDS_ENABLE_DITHER;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче