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 <david.s.gordon@xxxxxxxxx> Missing v2, and commit message should mention why we shut vblanks down entirely for the guc. With that fixed: Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> 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 Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx