aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2013-05-03 13:48:11 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-05-10 15:56:34 -0400
commit8693a824873a0a97be77c1d5f1e98777f06f7305 (patch)
treed3659a095b2c86a2af17bee2c8c90c6ee235d40b
parentecdb4eb71b8f76db2bf58c86af907e7b8ee056b0 (diff)
drm/i915: Add references to some workaround we implement
We did not mention the workaround name when implementing those. This should help us track what we already implement. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_gem_context.c1
-rw-r--r--drivers/gpu/drm/i915/intel_ddi.c2
-rw-r--r--drivers/gpu/drm/i915/intel_display.c4
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c3
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.c2
5 files changed, 10 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
index c81ae52c8c2e..64cb1909a0ce 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -333,6 +333,7 @@ mi_set_context(struct intel_ring_buffer *ring,
333 if (ret) 333 if (ret)
334 return ret; 334 return ret;
335 335
336 /* WaProgramMiArbOnOffAroundMiSetContext:ivb,vlv,hsw */
336 if (IS_GEN7(ring->dev)) 337 if (IS_GEN7(ring->dev))
337 intel_ring_emit(ring, MI_ARB_ON_OFF | MI_ARB_DISABLE); 338 intel_ring_emit(ring, MI_ARB_ON_OFF | MI_ARB_DISABLE);
338 else 339 else
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 3e946d3cd196..146893288e53 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -174,6 +174,8 @@ void hsw_fdi_link_train(struct drm_crtc *crtc)
174 * mode set "sequence for CRT port" document: 174 * mode set "sequence for CRT port" document:
175 * - TP1 to TP2 time with the default value 175 * - TP1 to TP2 time with the default value
176 * - FDI delay to 90h 176 * - FDI delay to 90h
177 *
178 * WaFDIAutoLinkSetTimingOverrride:hsw
177 */ 179 */
178 I915_WRITE(_FDI_RXA_MISC, FDI_RX_PWRDN_LANE1_VAL(2) | 180 I915_WRITE(_FDI_RXA_MISC, FDI_RX_PWRDN_LANE1_VAL(2) |
179 FDI_RX_PWRDN_LANE0_VAL(2) | 181 FDI_RX_PWRDN_LANE0_VAL(2) |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index d0c5ecff6948..f5523a80efc9 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4125,8 +4125,8 @@ static int intel_crtc_compute_config(struct drm_crtc *crtc,
4125 if (!pipe_config->timings_set) 4125 if (!pipe_config->timings_set)
4126 drm_mode_set_crtcinfo(adjusted_mode, 0); 4126 drm_mode_set_crtcinfo(adjusted_mode, 0);
4127 4127
4128 /* WaPruneModeWithIncorrectHsyncOffset: Cantiga+ cannot handle modes 4128 /* Cantiga+ cannot handle modes with a hsync front porch of 0.
4129 * with a hsync front porch of 0. 4129 * WaPruneModeWithIncorrectHsyncOffset:ctg,elk,ilk,snb,ivb,vlv,hsw.
4130 */ 4130 */
4131 if ((INTEL_INFO(dev)->gen > 4 || IS_G4X(dev)) && 4131 if ((INTEL_INFO(dev)->gen > 4 || IS_G4X(dev)) &&
4132 adjusted_mode->hsync_start == adjusted_mode->hdisplay) 4132 adjusted_mode->hsync_start == adjusted_mode->hdisplay)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index f95b97cf4a0d..5093b8612bc4 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -4586,6 +4586,7 @@ static void __gen6_gt_force_wake_get(struct drm_i915_private *dev_priv)
4586 FORCEWAKE_ACK_TIMEOUT_MS)) 4586 FORCEWAKE_ACK_TIMEOUT_MS))
4587 DRM_ERROR("Timed out waiting for forcewake to ack request.\n"); 4587 DRM_ERROR("Timed out waiting for forcewake to ack request.\n");
4588 4588
4589 /* WaRsForcewakeWaitTC0:snb */
4589 __gen6_gt_wait_for_thread_c0(dev_priv); 4590 __gen6_gt_wait_for_thread_c0(dev_priv);
4590} 4591}
4591 4592
@@ -4617,6 +4618,7 @@ static void __gen6_gt_force_wake_mt_get(struct drm_i915_private *dev_priv)
4617 FORCEWAKE_ACK_TIMEOUT_MS)) 4618 FORCEWAKE_ACK_TIMEOUT_MS))
4618 DRM_ERROR("Timed out waiting for forcewake to ack request.\n"); 4619 DRM_ERROR("Timed out waiting for forcewake to ack request.\n");
4619 4620
4621 /* WaRsForcewakeWaitTC0:ivb,hsw */
4620 __gen6_gt_wait_for_thread_c0(dev_priv); 4622 __gen6_gt_wait_for_thread_c0(dev_priv);
4621} 4623}
4622 4624
@@ -4720,6 +4722,7 @@ static void vlv_force_wake_get(struct drm_i915_private *dev_priv)
4720 FORCEWAKE_ACK_TIMEOUT_MS)) 4722 FORCEWAKE_ACK_TIMEOUT_MS))
4721 DRM_ERROR("Timed out waiting for media to ack forcewake request.\n"); 4723 DRM_ERROR("Timed out waiting for media to ack forcewake request.\n");
4722 4724
4725 /* WaRsForcewakeWaitTC0:vlv */
4723 __gen6_gt_wait_for_thread_c0(dev_priv); 4726 __gen6_gt_wait_for_thread_c0(dev_priv);
4724} 4727}
4725 4728
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 1d5d613eb6be..3d2c236e15ab 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -515,6 +515,8 @@ static int init_render_ring(struct intel_ring_buffer *ring)
515 /* We need to disable the AsyncFlip performance optimisations in order 515 /* We need to disable the AsyncFlip performance optimisations in order
516 * to use MI_WAIT_FOR_EVENT within the CS. It should already be 516 * to use MI_WAIT_FOR_EVENT within the CS. It should already be
517 * programmed to '1' on all products. 517 * programmed to '1' on all products.
518 *
519 * WaDisableAsyncFlipPerfMode:snb,ivb,hsw,vlv
518 */ 520 */
519 if (INTEL_INFO(dev)->gen >= 6) 521 if (INTEL_INFO(dev)->gen >= 6)
520 I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(ASYNC_FLIP_PERF_DISABLE)); 522 I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(ASYNC_FLIP_PERF_DISABLE));