On Fri, Feb 28, 2014 at 04:51:16PM +0200, Ville Syrjälä wrote: > On Fri, Feb 28, 2014 at 07:56:56PM +0530, S, Deepak wrote: > > > > > > On 2/28/2014 1:37 AM, ville.syrjala@xxxxxxxxxxxxxxx wrote: > > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > > > > It occured to me that when we're trying to wake up both render > > > and media wells on VLV, we might end up calling the low level > > > force_wake_get/put two times even though one call would be > > > enough. Make that happen by figuring out which wells really > > > need to be woken up based on the forcewake counts. > > > > > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > --- > > > drivers/gpu/drm/i915/intel_uncore.c | 70 +++++++++++++++---------------------- > > > 1 file changed, 29 insertions(+), 41 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c > > > index dacb751..4119ddc 100644 > > > --- a/drivers/gpu/drm/i915/intel_uncore.c > > > +++ b/drivers/gpu/drm/i915/intel_uncore.c > > > @@ -251,16 +251,16 @@ void vlv_force_wake_get(struct drm_i915_private *dev_priv, > > > unsigned long irqflags; > > > > > > spin_lock_irqsave(&dev_priv->uncore.lock, irqflags); > > > - if (FORCEWAKE_RENDER & fw_engine) { > > > - if (dev_priv->uncore.fw_rendercount++ == 0) > > > - dev_priv->uncore.funcs.force_wake_get(dev_priv, > > > - FORCEWAKE_RENDER); > > > - } > > > - if (FORCEWAKE_MEDIA & fw_engine) { > > > - if (dev_priv->uncore.fw_mediacount++ == 0) > > > - dev_priv->uncore.funcs.force_wake_get(dev_priv, > > > - FORCEWAKE_MEDIA); > > > - } > > > + > > > + if (fw_engine & FORCEWAKE_RENDER && > > > + dev_priv->uncore.fw_rendercount++ != 0) > > > + fw_engine &= ~FORCEWAKE_RENDER; > > > + if (fw_engine & FORCEWAKE_MEDIA && > > > + dev_priv->uncore.fw_mediacount++ != 0) > > > + fw_engine &= ~FORCEWAKE_MEDIA; > > > > Should we add WARN_ON? I think it will help us if we have forcewake > > count mismatch? > > > > Other than this. Patch looks good. > > Reviewed-by:Deepak S <deepak.s@xxxxxxxxx> > > I dropped the WARNs since we didn't have them on other platforms either. > But if people think they might help, I'm not opposed to keeping them. Especially with the multiple fw domains I think a WARN for a refcount underflow would be useful. btw for vlv fw unification: The delayed put is also still on the table ... Entire series merged, thanks for patches&review. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx