diff options
author | Matt Roper <matthew.d.roper@intel.com> | 2014-07-09 19:22:11 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-07-10 02:51:15 -0400 |
commit | ebcdd39eafb1d87e1aa31edfb65cd53bfc604346 (patch) | |
tree | 57234ea0b321540cfba84f75bdf99eae57552669 | |
parent | 4c34574fd9e6f3ed34ebe67fbabb0fef0b0754e3 (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.c | 4 |
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 | ||
2253 | void intel_unpin_fb_obj(struct drm_i915_gem_object *obj) | 2255 | void 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 | } |