Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915/pm: Prefer drm_WARN_ON over WARN_ON

struct drm_device specific drm_WARN* macros include device information
in the backtrace, so we know what device the warnings originate from.

Prefer drm_WARN_ON over WARN_ON.

Conversion is done with below sementic patch:

@@
identifier func, T;
@@
func(...) {
...
struct intel_crtc *T = ...;
+struct drm_i915_private *dev_priv = to_i915(T->base.dev);
<+...
-WARN_ON(
+drm_WARN_ON(&dev_priv->drm,
...)
...+>

}

@@
identifier func, T;
@@
func(struct intel_crtc_state *T,...) {
+struct drm_i915_private *dev_priv = to_i915(T->uapi.crtc->dev);
<+...
-WARN_ON(
+drm_WARN_ON(&dev_priv->drm,
...)
...+>

}

changes since v1:
- Added dev_priv local variable and used it in drm_WARN_ON calls (Jani)

Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200504181600.18503-9-pankaj.laxminarayan.bharadiya@intel.com

authored by

Pankaj Bharadiya and committed by
Jani Nikula
19edeb38 bf07f6eb

+37 -24
+37 -24
drivers/gpu/drm/i915/intel_pm.c
··· 1437 1437 static int g4x_compute_intermediate_wm(struct intel_crtc_state *new_crtc_state) 1438 1438 { 1439 1439 struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->uapi.crtc); 1440 + struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); 1440 1441 struct g4x_wm_state *intermediate = &new_crtc_state->wm.g4x.intermediate; 1441 1442 const struct g4x_wm_state *optimal = &new_crtc_state->wm.g4x.optimal; 1442 1443 struct intel_atomic_state *intel_state = ··· 1466 1465 max(optimal->wm.plane[plane_id], 1467 1466 active->wm.plane[plane_id]); 1468 1467 1469 - WARN_ON(intermediate->wm.plane[plane_id] > 1470 - g4x_plane_fifo_size(plane_id, G4X_WM_LEVEL_NORMAL)); 1468 + drm_WARN_ON(&dev_priv->drm, intermediate->wm.plane[plane_id] > 1469 + g4x_plane_fifo_size(plane_id, G4X_WM_LEVEL_NORMAL)); 1471 1470 } 1472 1471 1473 1472 intermediate->sr.plane = max(optimal->sr.plane, ··· 1484 1483 intermediate->hpll.fbc = max(optimal->hpll.fbc, 1485 1484 active->hpll.fbc); 1486 1485 1487 - WARN_ON((intermediate->sr.plane > 1488 - g4x_plane_fifo_size(PLANE_PRIMARY, G4X_WM_LEVEL_SR) || 1489 - intermediate->sr.cursor > 1490 - g4x_plane_fifo_size(PLANE_CURSOR, G4X_WM_LEVEL_SR)) && 1491 - intermediate->cxsr); 1492 - WARN_ON((intermediate->sr.plane > 1493 - g4x_plane_fifo_size(PLANE_PRIMARY, G4X_WM_LEVEL_HPLL) || 1494 - intermediate->sr.cursor > 1495 - g4x_plane_fifo_size(PLANE_CURSOR, G4X_WM_LEVEL_HPLL)) && 1496 - intermediate->hpll_en); 1486 + drm_WARN_ON(&dev_priv->drm, 1487 + (intermediate->sr.plane > 1488 + g4x_plane_fifo_size(PLANE_PRIMARY, G4X_WM_LEVEL_SR) || 1489 + intermediate->sr.cursor > 1490 + g4x_plane_fifo_size(PLANE_CURSOR, G4X_WM_LEVEL_SR)) && 1491 + intermediate->cxsr); 1492 + drm_WARN_ON(&dev_priv->drm, 1493 + (intermediate->sr.plane > 1494 + g4x_plane_fifo_size(PLANE_PRIMARY, G4X_WM_LEVEL_HPLL) || 1495 + intermediate->sr.cursor > 1496 + g4x_plane_fifo_size(PLANE_CURSOR, G4X_WM_LEVEL_HPLL)) && 1497 + intermediate->hpll_en); 1497 1498 1498 - WARN_ON(intermediate->sr.fbc > g4x_fbc_fifo_size(1) && 1499 - intermediate->fbc_en && intermediate->cxsr); 1500 - WARN_ON(intermediate->hpll.fbc > g4x_fbc_fifo_size(2) && 1501 - intermediate->fbc_en && intermediate->hpll_en); 1499 + drm_WARN_ON(&dev_priv->drm, 1500 + intermediate->sr.fbc > g4x_fbc_fifo_size(1) && 1501 + intermediate->fbc_en && intermediate->cxsr); 1502 + drm_WARN_ON(&dev_priv->drm, 1503 + intermediate->hpll.fbc > g4x_fbc_fifo_size(2) && 1504 + intermediate->fbc_en && intermediate->hpll_en); 1502 1505 1503 1506 out: 1504 1507 /* ··· 1686 1681 static int vlv_compute_fifo(struct intel_crtc_state *crtc_state) 1687 1682 { 1688 1683 struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); 1684 + struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); 1689 1685 const struct g4x_pipe_wm *raw = 1690 1686 &crtc_state->wm.vlv.raw[VLV_WM_LEVEL_PM2]; 1691 1687 struct vlv_fifo_state *fifo_state = &crtc_state->wm.vlv.fifo_state; ··· 1755 1749 fifo_left -= plane_extra; 1756 1750 } 1757 1751 1758 - WARN_ON(active_planes != 0 && fifo_left != 0); 1752 + drm_WARN_ON(&dev_priv->drm, active_planes != 0 && fifo_left != 0); 1759 1753 1760 1754 /* give it all to the first plane if none are active */ 1761 1755 if (active_planes == 0) { 1762 - WARN_ON(fifo_left != fifo_size); 1756 + drm_WARN_ON(&dev_priv->drm, fifo_left != fifo_size); 1763 1757 fifo_state->plane[PLANE_PRIMARY] = fifo_left; 1764 1758 } 1765 1759 ··· 4339 4333 skl_plane_downscale_amount(const struct intel_crtc_state *crtc_state, 4340 4334 const struct intel_plane_state *plane_state) 4341 4335 { 4336 + struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev); 4342 4337 u32 src_w, src_h, dst_w, dst_h; 4343 4338 uint_fixed_16_16_t fp_w_ratio, fp_h_ratio; 4344 4339 uint_fixed_16_16_t downscale_h, downscale_w; 4345 4340 4346 - if (WARN_ON(!intel_wm_plane_visible(crtc_state, plane_state))) 4341 + if (drm_WARN_ON(&dev_priv->drm, 4342 + !intel_wm_plane_visible(crtc_state, plane_state))) 4347 4343 return u32_to_fixed16(0); 4348 4344 4349 4345 /* ··· 5039 5031 static uint_fixed_16_16_t 5040 5032 intel_get_linetime_us(const struct intel_crtc_state *crtc_state) 5041 5033 { 5034 + struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev); 5042 5035 u32 pixel_rate; 5043 5036 u32 crtc_htotal; 5044 5037 uint_fixed_16_16_t linetime_us; ··· 5049 5040 5050 5041 pixel_rate = crtc_state->pixel_rate; 5051 5042 5052 - if (WARN_ON(pixel_rate == 0)) 5043 + if (drm_WARN_ON(&dev_priv->drm, pixel_rate == 0)) 5053 5044 return u32_to_fixed16(0); 5054 5045 5055 5046 crtc_htotal = crtc_state->hw.adjusted_mode.crtc_htotal; ··· 5062 5053 skl_adjusted_plane_pixel_rate(const struct intel_crtc_state *crtc_state, 5063 5054 const struct intel_plane_state *plane_state) 5064 5055 { 5056 + struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev); 5065 5057 u64 adjusted_pixel_rate; 5066 5058 uint_fixed_16_16_t downscale_amount; 5067 5059 5068 5060 /* Shouldn't reach here on disabled planes... */ 5069 - if (WARN_ON(!intel_wm_plane_visible(crtc_state, plane_state))) 5061 + if (drm_WARN_ON(&dev_priv->drm, 5062 + !intel_wm_plane_visible(crtc_state, plane_state))) 5070 5063 return 0; 5071 5064 5072 5065 /* ··· 5504 5493 static int icl_build_plane_wm(struct intel_crtc_state *crtc_state, 5505 5494 const struct intel_plane_state *plane_state) 5506 5495 { 5496 + struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev); 5507 5497 enum plane_id plane_id = to_intel_plane(plane_state->uapi.plane)->id; 5508 5498 int ret; 5509 5499 ··· 5516 5504 const struct drm_framebuffer *fb = plane_state->hw.fb; 5517 5505 enum plane_id y_plane_id = plane_state->planar_linked_plane->id; 5518 5506 5519 - WARN_ON(!intel_wm_plane_visible(crtc_state, plane_state)); 5520 - WARN_ON(!fb->format->is_yuv || 5521 - fb->format->num_planes == 1); 5507 + drm_WARN_ON(&dev_priv->drm, 5508 + !intel_wm_plane_visible(crtc_state, plane_state)); 5509 + drm_WARN_ON(&dev_priv->drm, !fb->format->is_yuv || 5510 + fb->format->num_planes == 1); 5522 5511 5523 5512 ret = skl_build_plane_wm_single(crtc_state, plane_state, 5524 5513 y_plane_id, 0);