diff options
author | Damien Lespiau <damien.lespiau@intel.com> | 2013-05-03 13:48:11 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-05-10 15:56:34 -0400 |
commit | 8693a824873a0a97be77c1d5f1e98777f06f7305 (patch) | |
tree | d3659a095b2c86a2af17bee2c8c90c6ee235d40b | |
parent | ecdb4eb71b8f76db2bf58c86af907e7b8ee056b0 (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.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_ddi.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.c | 2 |
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)); |