[Intel-gfx] [PATCH 10/12] drm/i915: kill fbc.uncompressed_size
Chris Wilson
chris at chris-wilson.co.uk
Fri Nov 13 14:40:38 PST 2015
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 at intel.com>
> ---
> 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 at chris-wilson.co.uk>
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list