[Intel-gfx] [PATCH 01/12] drm/i915: fix the CFB size check
Chris Wilson
chris at chris-wilson.co.uk
Fri Nov 13 14:42:50 PST 2015
On Fri, Nov 13, 2015 at 05:53:33PM -0200, Paulo Zanoni wrote:
> In function find_compression_threshold() we try to over-allocate CFB
> space in order to reduce reallocations and fragmentation, and we're
> not considering that at the CFB size check. Consider it.
>
> There is also a longer-term plan to kill
> dev_priv->fbc.uncompressed_size, but this will come later.
>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> ---
> drivers/gpu/drm/i915/intel_fbc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
> index 11fc528..611672f 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -720,7 +720,8 @@ static int intel_fbc_setup_cfb(struct intel_crtc *crtc)
> size = intel_fbc_calculate_cfb_size(crtc);
> cpp = drm_format_plane_cpp(fb->pixel_format, 0);
>
> - if (size <= dev_priv->fbc.uncompressed_size)
> + if (dev_priv->fbc.compressed_fb.allocated &&
> + size <= dev_priv->fbc.compressed_fb.size * dev_priv->fbc.threshold)
> return 0;
Hmm, not sure if it would be worth just clearing compressed_fb.size after
remove.
But at any rate, you want to use
drm_mm_node_allocated(&fbc.compressed_fb).
With that minor change,
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