aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-06-12 18:54:59 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-06-18 08:05:20 -0400
commit3eff4faa9f59c581538663e3f42b9e16210cafd0 (patch)
tree7f2b87ba186124797e52af8bc5d0ecfff6cfa30a /drivers/gpu/drm/i915/intel_display.c
parent9f11a9e4e50006b615ba94722dfc33ced89664cf (diff)
drm/i915: explicitly set up PIPECONF (and gamma table) on haswell
Again we don't really support different settings, so don't let the BIOS sneak stuff through. Since the motivation for this patch series is to ensure we have the correct gamma table mode selected also add the required write to the GAMMA_MODE register to select the 8bit legacy table. And since I find lowercase letters in #defines offensive, also bikeshed those. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> 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.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index a6b4bee9034c..06b1180c4c16 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5437,13 +5437,11 @@ static void haswell_set_pipeconf(struct drm_crtc *crtc)
5437 enum transcoder cpu_transcoder = intel_crtc->config.cpu_transcoder; 5437 enum transcoder cpu_transcoder = intel_crtc->config.cpu_transcoder;
5438 uint32_t val; 5438 uint32_t val;
5439 5439
5440 val = I915_READ(PIPECONF(cpu_transcoder)); 5440 val = 0;
5441 5441
5442 val &= ~(PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_MASK);
5443 if (intel_crtc->config.dither) 5442 if (intel_crtc->config.dither)
5444 val |= (PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_SP); 5443 val |= (PIPECONF_DITHER_EN | PIPECONF_DITHER_TYPE_SP);
5445 5444
5446 val &= ~PIPECONF_INTERLACE_MASK_HSW;
5447 if (intel_crtc->config.adjusted_mode.flags & DRM_MODE_FLAG_INTERLACE) 5445 if (intel_crtc->config.adjusted_mode.flags & DRM_MODE_FLAG_INTERLACE)
5448 val |= PIPECONF_INTERLACED_ILK; 5446 val |= PIPECONF_INTERLACED_ILK;
5449 else 5447 else
@@ -5451,6 +5449,9 @@ static void haswell_set_pipeconf(struct drm_crtc *crtc)
5451 5449
5452 I915_WRITE(PIPECONF(cpu_transcoder), val); 5450 I915_WRITE(PIPECONF(cpu_transcoder), val);
5453 POSTING_READ(PIPECONF(cpu_transcoder)); 5451 POSTING_READ(PIPECONF(cpu_transcoder));
5452
5453 I915_WRITE(GAMMA_MODE(intel_crtc->pipe), GAMMA_MODE_MODE_8BIT);
5454 POSTING_READ(GAMMA_MODE(intel_crtc->pipe));
5454} 5455}
5455 5456
5456static bool ironlake_compute_clocks(struct drm_crtc *crtc, 5457static bool ironlake_compute_clocks(struct drm_crtc *crtc,