aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2015-02-09 14:33:08 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-02-13 17:28:32 -0500
commit82ef822e657c2b1d1f0893afd84468a4ae641c04 (patch)
tree94baf8f9c8692db52480862cfa0c207b26731486
parent6f97235b8be5ee8721e784d0b3b95ef2f95edf7c (diff)
drm/i915/skl: Provide a gen9 specific init_render_ring()
WaDisableAsyncFlipPerfMode isn't listed for SKL and INSTPM_FORCE_ORDERING is MBZ so let's make a gen9 specific render init function. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Reviewed-by: Nick Hoath <nicholas.hoath@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/intel_lrc.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index b7f388749b48..b355da4cae88 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -1150,6 +1150,17 @@ static int gen8_init_render_ring(struct intel_engine_cs *ring)
1150 return init_workarounds_ring(ring); 1150 return init_workarounds_ring(ring);
1151} 1151}
1152 1152
1153static int gen9_init_render_ring(struct intel_engine_cs *ring)
1154{
1155 int ret;
1156
1157 ret = gen8_init_common_ring(ring);
1158 if (ret)
1159 return ret;
1160
1161 return init_workarounds_ring(ring);
1162}
1163
1153static int gen8_emit_bb_start(struct intel_ringbuffer *ringbuf, 1164static int gen8_emit_bb_start(struct intel_ringbuffer *ringbuf,
1154 struct intel_context *ctx, 1165 struct intel_context *ctx,
1155 u64 offset, unsigned flags) 1166 u64 offset, unsigned flags)
@@ -1440,7 +1451,10 @@ static int logical_render_ring_init(struct drm_device *dev)
1440 if (HAS_L3_DPF(dev)) 1451 if (HAS_L3_DPF(dev))
1441 ring->irq_keep_mask |= GT_RENDER_L3_PARITY_ERROR_INTERRUPT; 1452 ring->irq_keep_mask |= GT_RENDER_L3_PARITY_ERROR_INTERRUPT;
1442 1453
1443 ring->init_hw = gen8_init_render_ring; 1454 if (INTEL_INFO(dev)->gen >= 9)
1455 ring->init_hw = gen9_init_render_ring;
1456 else
1457 ring->init_hw = gen8_init_render_ring;
1444 ring->init_context = gen8_init_rcs_context; 1458 ring->init_context = gen8_init_rcs_context;
1445 ring->cleanup = intel_fini_pipe_control; 1459 ring->cleanup = intel_fini_pipe_control;
1446 ring->get_seqno = gen8_get_seqno; 1460 ring->get_seqno = gen8_get_seqno;