summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorJesse Barnes2010-09-10 20:27:03 +0200
committerChris Wilson2010-09-11 00:13:49 +0200
commitc64e311e650921fb014af2b3c500180fc65802b9 (patch)
treea391720d039bd67420fb7ed4b4569f0f1d4993ab /drivers/gpu/drm/i915/intel_display.c
parentdrm/i915: don't write TU size to N1 reg (diff)
downloadkernel-qcow2-linux-c64e311e650921fb014af2b3c500180fc65802b9.tar.gz
kernel-qcow2-linux-c64e311e650921fb014af2b3c500180fc65802b9.tar.xz
kernel-qcow2-linux-c64e311e650921fb014af2b3c500180fc65802b9.zip
drm/i915: set FDI RX TU size to match transmit size
This allows FDI error checking to work. 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.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 358c30127f1a..c31a64daf479 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1857,12 +1857,18 @@ static void ironlake_fdi_enable(struct drm_crtc *crtc)
int pipeconf_reg = (pipe == 0) ? PIPEACONF : PIPEBCONF;
int fdi_tx_reg = (pipe == 0) ? FDI_TXA_CTL : FDI_TXB_CTL;
int fdi_rx_reg = (pipe == 0) ? FDI_RXA_CTL : FDI_RXB_CTL;
+ int data_m1_reg = (pipe == 0) ? PIPEA_DATA_M1 : PIPEB_DATA_M1;
u32 temp;
u32 pipe_bpc;
+ u32 tx_size;
temp = I915_READ(pipeconf_reg);
pipe_bpc = temp & PIPE_BPC_MASK;
+ /* Write the TU size bits so error detection works */
+ tx_size = I915_READ(data_m1_reg) & TU_SIZE_MASK;
+ I915_WRITE(FDI_RXA_TUSIZE1, tx_size);
+
/* enable PCH FDI RX PLL, wait warmup plus DMI latency */
temp = I915_READ(fdi_rx_reg);
/*