On Fri, Nov 13, 2015 at 05:53:42PM -0200, Paulo Zanoni wrote: > Directly call intel_fbc_calculate_cfb_size() in the only place that > actually needs it, and use the proper check before removing the stolen > node. IMHO, this change makes our code easier to understand. > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_drv.h | 1 - > drivers/gpu/drm/i915/intel_fbc.c | 13 ++++--------- > 2 files changed, 4 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index ea08714..43649c5 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -901,7 +901,6 @@ struct i915_fbc { > /* This is always the inner lock when overlapping with struct_mutex and > * it's the outer lock when overlapping with stolen_lock. */ > struct mutex lock; > - unsigned long uncompressed_size; > unsigned threshold; > unsigned int fb_id; > unsigned int possible_framebuffer_bits; > diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c > index 72de8a1..d18eb80 100644 > --- a/drivers/gpu/drm/i915/intel_fbc.c > +++ b/drivers/gpu/drm/i915/intel_fbc.c > @@ -139,7 +139,7 @@ static void i8xx_fbc_activate(struct intel_crtc *crtc) > dev_priv->fbc.active = true; > > /* Note: fbc.threshold == 1 for i8xx */ > - cfb_pitch = dev_priv->fbc.uncompressed_size / FBC_LL_SIZE; > + cfb_pitch = intel_fbc_calculate_cfb_size(crtc, fb) / FBC_LL_SIZE; > if (fb->pitches[0] < cfb_pitch) > cfb_pitch = fb->pitches[0]; > > @@ -626,8 +626,6 @@ static int intel_fbc_alloc_cfb(struct intel_crtc *crtc) > dev_priv->mm.stolen_base + compressed_llb->start); > } > > - dev_priv->fbc.uncompressed_size = size; > - > DRM_DEBUG_KMS("reserved %llu bytes of contiguous stolen space for FBC, threshold: %d\n", > dev_priv->fbc.compressed_fb.size, > dev_priv->fbc.threshold); > @@ -644,18 +642,15 @@ err_llb: > > static void __intel_fbc_cleanup_cfb(struct drm_i915_private *dev_priv) > { > - if (dev_priv->fbc.uncompressed_size == 0) > - return; > - > - i915_gem_stolen_remove_node(dev_priv, &dev_priv->fbc.compressed_fb); > + if (dev_priv->fbc.compressed_fb.allocated) if (drm_mm_node_allocated(&dev_priv->fb.compressed_fb)) right? We've been pretty consistent in using drm_mm_node_allocated() so we may as well stick with the rigour. With that, Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx