|
@@ -1161,10 +1161,6 @@ static int gen8_init_render_ring(struct intel_engine_cs *ring)
|
|
*/
|
|
*/
|
|
I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(ASYNC_FLIP_PERF_DISABLE));
|
|
I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(ASYNC_FLIP_PERF_DISABLE));
|
|
|
|
|
|
- ret = intel_init_pipe_control(ring);
|
|
|
|
- if (ret)
|
|
|
|
- return ret;
|
|
|
|
-
|
|
|
|
I915_WRITE(INSTPM, _MASKED_BIT_ENABLE(INSTPM_FORCE_ORDERING));
|
|
I915_WRITE(INSTPM, _MASKED_BIT_ENABLE(INSTPM_FORCE_ORDERING));
|
|
|
|
|
|
return init_workarounds_ring(ring);
|
|
return init_workarounds_ring(ring);
|
|
@@ -1406,6 +1402,7 @@ static int logical_render_ring_init(struct drm_device *dev)
|
|
{
|
|
{
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
struct intel_engine_cs *ring = &dev_priv->ring[RCS];
|
|
struct intel_engine_cs *ring = &dev_priv->ring[RCS];
|
|
|
|
+ int ret;
|
|
|
|
|
|
ring->name = "render ring";
|
|
ring->name = "render ring";
|
|
ring->id = RCS;
|
|
ring->id = RCS;
|
|
@@ -1428,7 +1425,12 @@ static int logical_render_ring_init(struct drm_device *dev)
|
|
ring->irq_put = gen8_logical_ring_put_irq;
|
|
ring->irq_put = gen8_logical_ring_put_irq;
|
|
ring->emit_bb_start = gen8_emit_bb_start;
|
|
ring->emit_bb_start = gen8_emit_bb_start;
|
|
|
|
|
|
- return logical_ring_init(dev, ring);
|
|
|
|
|
|
+ ring->dev = dev;
|
|
|
|
+ ret = logical_ring_init(dev, ring);
|
|
|
|
+ if (ret)
|
|
|
|
+ return ret;
|
|
|
|
+
|
|
|
|
+ return intel_init_pipe_control(ring);
|
|
}
|
|
}
|
|
|
|
|
|
static int logical_bsd_ring_init(struct drm_device *dev)
|
|
static int logical_bsd_ring_init(struct drm_device *dev)
|