|
@@ -5146,8 +5146,7 @@ static int ironlake_get_refclk(struct drm_crtc *crtc)
|
|
|
}
|
|
|
|
|
|
static void ironlake_set_pipeconf(struct drm_crtc *crtc,
|
|
|
- struct drm_display_mode *adjusted_mode,
|
|
|
- bool dither)
|
|
|
+ struct drm_display_mode *adjusted_mode)
|
|
|
{
|
|
|
struct drm_i915_private *dev_priv = crtc->dev->dev_private;
|
|
|
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
|
@@ -5176,7 +5175,7 @@ static void ironlake_set_pipeconf(struct drm_crtc *crtc,
|
|
|
}
|
|
|
|
|
|
val &= ~(PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_MASK);
|
|
|
- if (dither)
|
|
|
+ if (intel_crtc->config.dither)
|
|
|
val |= (PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_SP);
|
|
|
|
|
|
val &= ~PIPECONF_INTERLACE_MASK;
|
|
@@ -5259,8 +5258,7 @@ static void intel_set_pipe_csc(struct drm_crtc *crtc)
|
|
|
}
|
|
|
|
|
|
static void haswell_set_pipeconf(struct drm_crtc *crtc,
|
|
|
- struct drm_display_mode *adjusted_mode,
|
|
|
- bool dither)
|
|
|
+ struct drm_display_mode *adjusted_mode)
|
|
|
{
|
|
|
struct drm_i915_private *dev_priv = crtc->dev->dev_private;
|
|
|
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
|
@@ -5270,7 +5268,7 @@ static void haswell_set_pipeconf(struct drm_crtc *crtc,
|
|
|
val = I915_READ(PIPECONF(cpu_transcoder));
|
|
|
|
|
|
val &= ~(PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_MASK);
|
|
|
- if (dither)
|
|
|
+ if (intel_crtc->config.dither)
|
|
|
val |= (PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_SP);
|
|
|
|
|
|
val &= ~PIPECONF_INTERLACE_MASK_HSW;
|
|
@@ -5631,7 +5629,7 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
bool is_lvds = false;
|
|
|
struct intel_encoder *encoder;
|
|
|
int ret;
|
|
|
- bool dither, fdi_config_ok;
|
|
|
+ bool fdi_config_ok;
|
|
|
|
|
|
for_each_encoder_on_crtc(dev, crtc, encoder) {
|
|
|
switch (encoder->type) {
|
|
@@ -5666,11 +5664,6 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
/* Ensure that the cursor is valid for the new mode before changing... */
|
|
|
intel_crtc_update_cursor(crtc, true);
|
|
|
|
|
|
- /* determine panel color depth */
|
|
|
- dither = intel_crtc->config.dither;
|
|
|
- if (is_lvds && dev_priv->lvds_dither)
|
|
|
- dither = true;
|
|
|
-
|
|
|
DRM_DEBUG_KMS("Mode for pipe %c:\n", pipe_name(pipe));
|
|
|
drm_mode_debug_printmodeline(mode);
|
|
|
|
|
@@ -5737,7 +5730,7 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
|
|
|
fdi_config_ok = ironlake_check_fdi_lanes(intel_crtc);
|
|
|
|
|
|
- ironlake_set_pipeconf(crtc, adjusted_mode, dither);
|
|
|
+ ironlake_set_pipeconf(crtc, adjusted_mode);
|
|
|
|
|
|
/* Set up the display plane register */
|
|
|
I915_WRITE(DSPCNTR(plane), DISPPLANE_GAMMA_ENABLE);
|
|
@@ -5814,7 +5807,6 @@ static int haswell_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
bool is_cpu_edp = false;
|
|
|
struct intel_encoder *encoder;
|
|
|
int ret;
|
|
|
- bool dither;
|
|
|
|
|
|
for_each_encoder_on_crtc(dev, crtc, encoder) {
|
|
|
switch (encoder->type) {
|
|
@@ -5850,9 +5842,6 @@ static int haswell_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
/* Ensure that the cursor is valid for the new mode before changing... */
|
|
|
intel_crtc_update_cursor(crtc, true);
|
|
|
|
|
|
- /* determine panel color depth */
|
|
|
- dither = intel_crtc->config.dither;
|
|
|
-
|
|
|
DRM_DEBUG_KMS("Mode for pipe %c:\n", pipe_name(pipe));
|
|
|
drm_mode_debug_printmodeline(mode);
|
|
|
|
|
@@ -5866,7 +5855,7 @@ static int haswell_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
if (intel_crtc->config.has_pch_encoder)
|
|
|
ironlake_fdi_set_m_n(crtc);
|
|
|
|
|
|
- haswell_set_pipeconf(crtc, adjusted_mode, dither);
|
|
|
+ haswell_set_pipeconf(crtc, adjusted_mode);
|
|
|
|
|
|
intel_set_pipe_csc(crtc);
|
|
|
|