diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2015-03-31 03:37:22 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-03-31 09:32:24 -0400 |
commit | 77589f561bce75e6799e2bc05551486bbef3954a (patch) | |
tree | acf4ba71e7fcf2a0dcdbf38026e059b19115f1bd /drivers/gpu/drm/i915/intel_overlay.c | |
parent | 85250ddff7a603dfe0ec0503a9e6395f79424f61 (diff) |
drm/i915: Convert BUGs to WARNs in the video overlay code
BUG is bad, just use WARN.
Also drop one BUG(!overlay) since we'd oops anyway when dereferencing
it.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_overlay.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_overlay.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c index dd92122ed95c..730ee46563c8 100644 --- a/drivers/gpu/drm/i915/intel_overlay.c +++ b/drivers/gpu/drm/i915/intel_overlay.c | |||
@@ -216,7 +216,7 @@ static int intel_overlay_do_wait_request(struct intel_overlay *overlay, | |||
216 | struct intel_engine_cs *ring = &dev_priv->ring[RCS]; | 216 | struct intel_engine_cs *ring = &dev_priv->ring[RCS]; |
217 | int ret; | 217 | int ret; |
218 | 218 | ||
219 | BUG_ON(overlay->last_flip_req); | 219 | WARN_ON(overlay->last_flip_req); |
220 | i915_gem_request_assign(&overlay->last_flip_req, | 220 | i915_gem_request_assign(&overlay->last_flip_req, |
221 | ring->outstanding_lazy_request); | 221 | ring->outstanding_lazy_request); |
222 | ret = i915_add_request(ring); | 222 | ret = i915_add_request(ring); |
@@ -241,7 +241,7 @@ static int intel_overlay_on(struct intel_overlay *overlay) | |||
241 | struct intel_engine_cs *ring = &dev_priv->ring[RCS]; | 241 | struct intel_engine_cs *ring = &dev_priv->ring[RCS]; |
242 | int ret; | 242 | int ret; |
243 | 243 | ||
244 | BUG_ON(overlay->active); | 244 | WARN_ON(overlay->active); |
245 | overlay->active = 1; | 245 | overlay->active = 1; |
246 | 246 | ||
247 | WARN_ON(IS_I830(dev) && !(dev_priv->quirks & QUIRK_PIPEA_FORCE)); | 247 | WARN_ON(IS_I830(dev) && !(dev_priv->quirks & QUIRK_PIPEA_FORCE)); |
@@ -270,7 +270,7 @@ static int intel_overlay_continue(struct intel_overlay *overlay, | |||
270 | u32 tmp; | 270 | u32 tmp; |
271 | int ret; | 271 | int ret; |
272 | 272 | ||
273 | BUG_ON(!overlay->active); | 273 | WARN_ON(!overlay->active); |
274 | 274 | ||
275 | if (load_polyphase_filter) | 275 | if (load_polyphase_filter) |
276 | flip_addr |= OFC_UPDATE; | 276 | flip_addr |= OFC_UPDATE; |
@@ -309,7 +309,8 @@ static void intel_overlay_off_tail(struct intel_overlay *overlay) | |||
309 | struct drm_i915_gem_object *obj = overlay->vid_bo; | 309 | struct drm_i915_gem_object *obj = overlay->vid_bo; |
310 | 310 | ||
311 | /* never have the overlay hw on without showing a frame */ | 311 | /* never have the overlay hw on without showing a frame */ |
312 | BUG_ON(!overlay->vid_bo); | 312 | if (WARN_ON(!obj)) |
313 | return; | ||
313 | 314 | ||
314 | i915_gem_object_ggtt_unpin(obj); | 315 | i915_gem_object_ggtt_unpin(obj); |
315 | drm_gem_object_unreference(&obj->base); | 316 | drm_gem_object_unreference(&obj->base); |
@@ -329,7 +330,7 @@ static int intel_overlay_off(struct intel_overlay *overlay) | |||
329 | u32 flip_addr = overlay->flip_addr; | 330 | u32 flip_addr = overlay->flip_addr; |
330 | int ret; | 331 | int ret; |
331 | 332 | ||
332 | BUG_ON(!overlay->active); | 333 | WARN_ON(!overlay->active); |
333 | 334 | ||
334 | /* According to intel docs the overlay hw may hang (when switching | 335 | /* According to intel docs the overlay hw may hang (when switching |
335 | * off) without loading the filter coeffs. It is however unclear whether | 336 | * off) without loading the filter coeffs. It is however unclear whether |
@@ -712,9 +713,8 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay, | |||
712 | u32 swidth, swidthsw, sheight, ostride; | 713 | u32 swidth, swidthsw, sheight, ostride; |
713 | enum pipe pipe = overlay->crtc->pipe; | 714 | enum pipe pipe = overlay->crtc->pipe; |
714 | 715 | ||
715 | BUG_ON(!mutex_is_locked(&dev->struct_mutex)); | 716 | WARN_ON(!mutex_is_locked(&dev->struct_mutex)); |
716 | BUG_ON(!drm_modeset_is_locked(&dev->mode_config.connection_mutex)); | 717 | WARN_ON(!drm_modeset_is_locked(&dev->mode_config.connection_mutex)); |
717 | BUG_ON(!overlay); | ||
718 | 718 | ||
719 | ret = intel_overlay_release_old_vid(overlay); | 719 | ret = intel_overlay_release_old_vid(overlay); |
720 | if (ret != 0) | 720 | if (ret != 0) |
@@ -824,8 +824,8 @@ int intel_overlay_switch_off(struct intel_overlay *overlay) | |||
824 | struct drm_device *dev = overlay->dev; | 824 | struct drm_device *dev = overlay->dev; |
825 | int ret; | 825 | int ret; |
826 | 826 | ||
827 | BUG_ON(!mutex_is_locked(&dev->struct_mutex)); | 827 | WARN_ON(!mutex_is_locked(&dev->struct_mutex)); |
828 | BUG_ON(!drm_modeset_is_locked(&dev->mode_config.connection_mutex)); | 828 | WARN_ON(!drm_modeset_is_locked(&dev->mode_config.connection_mutex)); |
829 | 829 | ||
830 | ret = intel_overlay_recover_from_interrupt(overlay); | 830 | ret = intel_overlay_recover_from_interrupt(overlay); |
831 | if (ret != 0) | 831 | if (ret != 0) |
@@ -1432,7 +1432,7 @@ void intel_cleanup_overlay(struct drm_device *dev) | |||
1432 | /* The bo's should be free'd by the generic code already. | 1432 | /* The bo's should be free'd by the generic code already. |
1433 | * Furthermore modesetting teardown happens beforehand so the | 1433 | * Furthermore modesetting teardown happens beforehand so the |
1434 | * hardware should be off already */ | 1434 | * hardware should be off already */ |
1435 | BUG_ON(dev_priv->overlay->active); | 1435 | WARN_ON(dev_priv->overlay->active); |
1436 | 1436 | ||
1437 | drm_gem_object_unreference_unlocked(&dev_priv->overlay->reg_bo->base); | 1437 | drm_gem_object_unreference_unlocked(&dev_priv->overlay->reg_bo->base); |
1438 | kfree(dev_priv->overlay); | 1438 | kfree(dev_priv->overlay); |