drm/i915: don't reallocate the compressed FB at every frame
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Fri, 13 Feb 2015 19:23:47 +0000 (17:23 -0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 23 Feb 2015 23:02:20 +0000 (00:02 +0100)
With the current code we just reallocate the compressed FB at every
FBC update: we have X in one frame, then in the other frame we need X
again, but we check "needed < have" instead of "needed <= have".

v2: Rebase after Jani addressed the other problems described in v1.

Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_stolen.c

index 59401f3b902cb948f97296299414903d18f1e86d..f1de95f7432ce2fd7d66b0d9549907936a48d4a9 100644 (file)
@@ -253,7 +253,7 @@ int i915_gem_stolen_setup_compression(struct drm_device *dev, int size, int fb_c
        if (!drm_mm_initialized(&dev_priv->mm.stolen))
                return -ENODEV;
 
-       if (size < dev_priv->fbc.uncompressed_size)
+       if (size <= dev_priv->fbc.uncompressed_size)
                return 0;
 
        /* Release any current block */