void intel_fbc_cleanup_cfb(struct drm_i915_private *dev_priv) { struct intel_fbc *fbc = &dev_priv->fbc; if (!fbc_supported(dev_priv)) return; mutex_lock(&fbc->lock); __intel_fbc_cleanup_cfb(dev_priv); mutex_unlock(&fbc->lock); }
/** * __intel_fbc_disable - disable FBC * @dev_priv: i915 device instance * * This is the low level function that actually disables FBC. Callers should * grab the FBC lock. */ static void __intel_fbc_disable(struct drm_i915_private *dev_priv) { struct intel_fbc *fbc = &dev_priv->fbc; struct intel_crtc *crtc = fbc->crtc; WARN_ON(!mutex_is_locked(&fbc->lock)); WARN_ON(!fbc->enabled); WARN_ON(fbc->active); DRM_DEBUG_KMS("Disabling FBC on pipe %c\n", pipe_name(crtc->pipe)); __intel_fbc_cleanup_cfb(dev_priv); fbc->enabled = false; fbc->crtc = NULL; }