[Intel-gfx] [PATCH] drm/i915: Replace direct calls to vfunc.disable_fbc with intel_disable_fbc()
Chris Wilson
chris at chris-wilson.co.uk
Thu Jul 7 19:19:32 CEST 2011
...to ensure that any pending FBC enable tasklet is cancelled.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
Considering the case for module unload, pointed out that I missed a few
cases where the chipset specific disable_fbc vfunc is used directly.
Obviously we need to make sure that any pending enable task is cancelled
or otherwise, the disable won't last.
-Chris
---
drivers/gpu/drm/i915/intel_display.c | 13 +++++--------
1 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 1d6118f..b6de1e5 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2794,9 +2794,8 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)
intel_disable_plane(dev_priv, plane, pipe);
- if (dev_priv->cfb_plane == plane &&
- dev_priv->display.disable_fbc)
- dev_priv->display.disable_fbc(dev);
+ if (dev_priv->cfb_plane == plane)
+ intel_disable_fbc(dev);
intel_disable_pipe(dev_priv, pipe);
@@ -2960,9 +2959,8 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc)
intel_crtc_dpms_overlay(intel_crtc, false);
intel_crtc_update_cursor(crtc, false);
- if (dev_priv->cfb_plane == plane &&
- dev_priv->display.disable_fbc)
- dev_priv->display.disable_fbc(dev);
+ if (dev_priv->cfb_plane == plane)
+ intel_disable_fbc(dev);
intel_disable_plane(dev_priv, plane, pipe);
intel_disable_pipe(dev_priv, pipe);
@@ -8021,8 +8019,7 @@ void intel_modeset_cleanup(struct drm_device *dev)
intel_increase_pllclock(crtc);
}
- if (dev_priv->display.disable_fbc)
- dev_priv->display.disable_fbc(dev);
+ intel_disable_fbc(dev);
if (IS_IRONLAKE_M(dev))
ironlake_disable_drps(dev);
--
1.7.5.4
More information about the Intel-gfx
mailing list