aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Roper <matthew.d.roper@intel.com>2014-07-09 19:22:11 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-07-10 02:51:15 -0400
commitebcdd39eafb1d87e1aa31edfb65cd53bfc604346 (patch)
tree57234ea0b321540cfba84f75bdf99eae57552669
parent4c34574fd9e6f3ed34ebe67fbabb0fef0b0754e3 (diff)
drm/i915: Add a couple WARN()'s to catch missing locks
Add !mutex_is_locked() checks to intel_pin_and_fence_fb_obj() and intel_unpin_fb_obj() to help catch failures to grab struct_mutex when operating on fb objects. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/intel_display.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 0029d4398866..f5986b2ad252 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2196,6 +2196,8 @@ intel_pin_and_fence_fb_obj(struct drm_device *dev,
2196 u32 alignment; 2196 u32 alignment;
2197 int ret; 2197 int ret;
2198 2198
2199 WARN_ON(!mutex_is_locked(&dev->struct_mutex));
2200
2199 switch (obj->tiling_mode) { 2201 switch (obj->tiling_mode) {
2200 case I915_TILING_NONE: 2202 case I915_TILING_NONE:
2201 if (IS_BROADWATER(dev) || IS_CRESTLINE(dev)) 2203 if (IS_BROADWATER(dev) || IS_CRESTLINE(dev))
@@ -2252,6 +2254,8 @@ err_interruptible:
2252 2254
2253void intel_unpin_fb_obj(struct drm_i915_gem_object *obj) 2255void intel_unpin_fb_obj(struct drm_i915_gem_object *obj)
2254{ 2256{
2257 WARN_ON(!mutex_is_locked(&obj->base.dev->struct_mutex));
2258
2255 i915_gem_object_unpin_fence(obj); 2259 i915_gem_object_unpin_fence(obj);
2256 i915_gem_object_unpin_from_display_plane(obj); 2260 i915_gem_object_unpin_from_display_plane(obj);
2257} 2261}