On Mon, Jun 20, 2016 at 11:23:31AM +0100, Dave Gordon wrote:
> If a context waiting for VBlank were switched out, the GuC would
> have to receive the VBlank interrupt so that it could resubmit
> the context. However, we don't use the GuC internal scheduler,
> and we always set the CTX_CTRL_INHIBIT_SYN_CTX_SWITCH bit in the
> RING_CONTEXT_CONTROL register, so this case cannot arise.
> 
> Consequently, the GuC doesn't need to see VBlanks, and we may be
> waking it up unnecessarily by sending them. So let's not ...
> 
> Signed-off-by: Dave Gordon <[email protected]>

Missing v2, and commit message should mention why we shut vblanks down
entirely for the guc. With that fixed:

Reviewed-by: Daniel Vetter <[email protected]>

I'm soonish on vacations, so pls ask Tvrkto or someone else to push.
-Daniel

> ---
>  drivers/gpu/drm/i915/intel_guc_loader.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_guc_loader.c 
> b/drivers/gpu/drm/i915/intel_guc_loader.c
> index 8fe96a2..5d989d2 100644
> --- a/drivers/gpu/drm/i915/intel_guc_loader.c
> +++ b/drivers/gpu/drm/i915/intel_guc_loader.c
> @@ -105,8 +105,8 @@ static void direct_interrupts_to_guc(struct 
> drm_i915_private *dev_priv)
>       int irqs;
>       u32 tmp;
>  
> -     /* tell all command streamers to forward interrupts and vblank to GuC */
> -     irqs = _MASKED_FIELD(GFX_FORWARD_VBLANK_MASK, 
> GFX_FORWARD_VBLANK_ALWAYS);
> +     /* tell all command streamers to forward interrupts (but not vblank) to 
> GuC */
> +     irqs = _MASKED_FIELD(GFX_FORWARD_VBLANK_MASK, GFX_FORWARD_VBLANK_NEVER);
>       irqs |= _MASKED_BIT_ENABLE(GFX_INTERRUPT_STEERING);
>       for_each_engine(engine, dev_priv)
>               I915_WRITE(RING_MODE_GEN7(engine), irqs);
> -- 
> 1.9.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to