[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 09:03:03 PDT 2015
On Fri, Jul 03, 2015 at 04:56:31PM +0100, Chris Wilson wrote:
> 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).
With or without that change (would prefer with!),
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