aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_overlay.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2015-03-31 03:37:22 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-03-31 09:32:24 -0400
commit77589f561bce75e6799e2bc05551486bbef3954a (patch)
treeacf4ba71e7fcf2a0dcdbf38026e059b19115f1bd /drivers/gpu/drm/i915/intel_overlay.c
parent85250ddff7a603dfe0ec0503a9e6395f79424f61 (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.c22
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);