diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2010-10-07 19:01:15 -0400 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-10-08 05:28:21 -0400 |
commit | 5b2adf897146edeac6a1e438fb67b5a53dbbdf34 (patch) | |
tree | 1bc198b1d20401a49cda217ff0981e957285fe1c /drivers/gpu/drm/i915/intel_display.c | |
parent | 9f0e7ff4b366d27570cbe0ffa137ed1018009114 (diff) |
drm/i915: add Ironlake clock gating workaround for FDI link training
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 349710a8014..5812fc7c5a0 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -1714,6 +1714,9 @@ static void ironlake_fdi_link_train(struct drm_crtc *crtc) | |||
1714 | POSTING_READ(reg); | 1714 | POSTING_READ(reg); |
1715 | udelay(150); | 1715 | udelay(150); |
1716 | 1716 | ||
1717 | /* Ironlake workaround, enable clock pointer after FDI enable*/ | ||
1718 | I915_WRITE(FDI_RX_CHICKEN(pipe), FDI_RX_PHASE_SYNC_POINTER_ENABLE); | ||
1719 | |||
1717 | reg = FDI_RX_IIR(pipe); | 1720 | reg = FDI_RX_IIR(pipe); |
1718 | for (tries = 0; tries < 5; tries++) { | 1721 | for (tries = 0; tries < 5; tries++) { |
1719 | temp = I915_READ(reg); | 1722 | temp = I915_READ(reg); |
@@ -2192,6 +2195,11 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc) | |||
2192 | POSTING_READ(reg); | 2195 | POSTING_READ(reg); |
2193 | udelay(100); | 2196 | udelay(100); |
2194 | 2197 | ||
2198 | /* Ironlake workaround, disable clock pointer after downing FDI */ | ||
2199 | I915_WRITE(FDI_RX_CHICKEN(pipe), | ||
2200 | I915_READ(FDI_RX_CHICKEN(pipe) & | ||
2201 | ~FDI_RX_PHASE_SYNC_POINTER_ENABLE)); | ||
2202 | |||
2195 | /* still set train pattern 1 */ | 2203 | /* still set train pattern 1 */ |
2196 | reg = FDI_TX_CTL(pipe); | 2204 | reg = FDI_TX_CTL(pipe); |
2197 | temp = I915_READ(reg); | 2205 | temp = I915_READ(reg); |