drm/i915/bdw: Do not initialize PPGTT in the legacy way for execlists
Subsystems (2)
PATCH 1/1 drm/i915/bdw: Do not initialize PPGTT in the legacy way for execlists
A pending commit removes synchronous mode from switch_mm. This breaks execlists because switch_mm will always try to write to the legacy ring buffer.
Return immediately from i915_ppgtt_init_gw in execlists mode. No longer check for execlists mode in gen8_ppgtt_enable() because this will no longer be called in execlists mode.
--- drivers/gpu/drm/i915/i915_gem_gtt.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
drivers/gpu/drm/i915/i915_gem_gtt.c +6 -6
@@ -777,12 +777,6 @@ static void gen8_ppgtt_enable(struct drm_device *dev)struct intel_engine_cs *ring;int j; -/* In the case of execlists, PPGTT is enabled by the context descriptor -* and the PDPs are contained within the context itself. We don't -* need to do anything here. */ -if (i915.enable_execlists) -return ; -for_each_ring (ring, dev_priv, j) {I915_WRITE (RING_MODE_GEN7 (ring),_MASKED_BIT_ENABLE (GFX_PPGTT_ENABLE ));
@@ -1126,6 +1120,12 @@ int i915_ppgtt_init_hw(struct drm_device *dev)struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt;int i, ret =0 ; +/* In the case of execlists, PPGTT is enabled by the context descriptor +* and the PDPs are contained within the context itself. We don't +* need to do anything here. */ +if (i915.enable_execlists) +return 0 ; +if (!USES_PPGTT (dev))return 0 ;
Signature · 1 line
1.7.9.5
Daniel Vetter
AppliedQuoted 9 lines · Thomas Daniel
A pending commit removes synchronous mode from
switch_mm. This breaks execlists becauseswitch_mmwill always try to write to the legacy ring buffer.Return immediately from
i915_ppgtt_init_gwin execlists mode. No longer check for execlists mode ingen8_ppgtt_enable()because this will no longer be called in execlists mode.Signed-off-by Thomas Daniel <[email protected]>
Queued for -next, thanks for the patch.
-Daniel
Signature · 3 lines
Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch