[Intel-gfx] [PATCH 8/8] drm/i915: protect FBC functions with HAS_FBC checks
Chris Wilson
chris at chris-wilson.co.uk
Fri Jul 3 08:56:31 PDT 2015
On Thu, Jul 02, 2015 at 07:25:14PM -0300, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zanoni at intel.com>
>
> Now all the functions called by other files have the HAS_FBC
> protection. This allows us to drop the checks for the low level
> function pointers.
>
> Suggested-by: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> ---
> drivers/gpu/drm/i915/intel_fbc.c | 27 ++++++++++++++++++---------
> 1 file changed, 18 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
> index cc9b7ef..bc3cdb3 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -388,9 +388,6 @@ static void intel_fbc_enable(struct drm_crtc *crtc)
>
> WARN_ON(!mutex_is_locked(&dev_priv->fbc.lock));
>
> - if (!dev_priv->display.enable_fbc)
> - return;
> -
> intel_fbc_cancel_work(dev_priv);
>
> work = kzalloc(sizeof(*work), GFP_KERNEL);
> @@ -661,6 +661,9 @@ void intel_fbc_cleanup_cfb(struct drm_device *dev)
> {
> struct drm_i915_private *dev_priv = dev->dev_private;
>
> + if (!HAS_FBC(dev_priv))
> + return;
> +
> mutex_lock(&dev_priv->fbc.lock);
> __intel_fbc_cleanup_cfb(dev);
> mutex_unlock(&dev_priv->fbc.lock);
dev_priv->display.enable_fbc is one less pointer dereference than
HAS_FBC() and is a better indication of whether we have initialised the
display device for FBC (i.e. it also carries information about whether
the setup succeeded, maybe some platforms have HAS_FBC but we fail to
negotiate etc).
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list