drm/i915: Make WARN* drm specific where drm_priv ptr is available
drm specific WARN* calls include device information in the backtrace, so we know what device the warnings originate from. Covert all the calls of WARN* with device specific drm_WARN* variants in functions where drm_i915_private struct pointer is readily available. The conversion was done automatically with below coccinelle semantic patch. checkpatch errors/warnings are fixed manually. @rule1@ identifier func, T; @@ func(...) { ... struct drm_i915_private *T = ...; <+... ( -WARN( +drm_WARN(&T->drm, ...) | -WARN_ON( +drm_WARN_ON(&T->drm, ...) | -WARN_ONCE( +drm_WARN_ONCE(&T->drm, ...) | -WARN_ON_ONCE( +drm_WARN_ON_ONCE(&T->drm, ...) ) ...+> } @rule2@ identifier func, T; @@ func(struct drm_i915_private *T,...) { <+... ( -WARN( +drm_WARN(&T->drm, ...) | -WARN_ON( +drm_WARN_ON(&T->drm, ...) | -WARN_ONCE( +drm_WARN_ONCE(&T->drm, ...) | -WARN_ON_ONCE( +drm_WARN_ON_ONCE(&T->drm, ...) ) ...+> } command: ls drivers/gpu/drm/i915/*.c | xargs spatch --sp-file \ <script> --linux-spacing --in-place 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/20200115034455.17658-10-pankaj.laxminarayan.bharadiya@intel.com
This commit is contained in:

committed by
Jani Nikula

parent
0d4c351a0f
commit
48a1b8d4af
@@ -13,91 +13,106 @@ intel_pch_type(const struct drm_i915_private *dev_priv, unsigned short id)
|
||||
switch (id) {
|
||||
case INTEL_PCH_IBX_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found Ibex Peak PCH\n");
|
||||
WARN_ON(!IS_GEN(dev_priv, 5));
|
||||
drm_WARN_ON(&dev_priv->drm, !IS_GEN(dev_priv, 5));
|
||||
return PCH_IBX;
|
||||
case INTEL_PCH_CPT_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found CougarPoint PCH\n");
|
||||
WARN_ON(!IS_GEN(dev_priv, 6) && !IS_IVYBRIDGE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
!IS_GEN(dev_priv, 6) && !IS_IVYBRIDGE(dev_priv));
|
||||
return PCH_CPT;
|
||||
case INTEL_PCH_PPT_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found PantherPoint PCH\n");
|
||||
WARN_ON(!IS_GEN(dev_priv, 6) && !IS_IVYBRIDGE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
!IS_GEN(dev_priv, 6) && !IS_IVYBRIDGE(dev_priv));
|
||||
/* PantherPoint is CPT compatible */
|
||||
return PCH_CPT;
|
||||
case INTEL_PCH_LPT_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found LynxPoint PCH\n");
|
||||
WARN_ON(!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv));
|
||||
WARN_ON(IS_HSW_ULT(dev_priv) || IS_BDW_ULT(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
IS_HSW_ULT(dev_priv) || IS_BDW_ULT(dev_priv));
|
||||
return PCH_LPT;
|
||||
case INTEL_PCH_LPT_LP_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found LynxPoint LP PCH\n");
|
||||
WARN_ON(!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv));
|
||||
WARN_ON(!IS_HSW_ULT(dev_priv) && !IS_BDW_ULT(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
!IS_HSW_ULT(dev_priv) && !IS_BDW_ULT(dev_priv));
|
||||
return PCH_LPT;
|
||||
case INTEL_PCH_WPT_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found WildcatPoint PCH\n");
|
||||
WARN_ON(!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv));
|
||||
WARN_ON(IS_HSW_ULT(dev_priv) || IS_BDW_ULT(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
IS_HSW_ULT(dev_priv) || IS_BDW_ULT(dev_priv));
|
||||
/* WildcatPoint is LPT compatible */
|
||||
return PCH_LPT;
|
||||
case INTEL_PCH_WPT_LP_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found WildcatPoint LP PCH\n");
|
||||
WARN_ON(!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv));
|
||||
WARN_ON(!IS_HSW_ULT(dev_priv) && !IS_BDW_ULT(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
!IS_HSW_ULT(dev_priv) && !IS_BDW_ULT(dev_priv));
|
||||
/* WildcatPoint is LPT compatible */
|
||||
return PCH_LPT;
|
||||
case INTEL_PCH_SPT_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found SunrisePoint PCH\n");
|
||||
WARN_ON(!IS_SKYLAKE(dev_priv) && !IS_KABYLAKE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
!IS_SKYLAKE(dev_priv) && !IS_KABYLAKE(dev_priv));
|
||||
return PCH_SPT;
|
||||
case INTEL_PCH_SPT_LP_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found SunrisePoint LP PCH\n");
|
||||
WARN_ON(!IS_SKYLAKE(dev_priv) && !IS_KABYLAKE(dev_priv) &&
|
||||
!IS_COFFEELAKE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
!IS_SKYLAKE(dev_priv) && !IS_KABYLAKE(dev_priv) &&
|
||||
!IS_COFFEELAKE(dev_priv));
|
||||
return PCH_SPT;
|
||||
case INTEL_PCH_KBP_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found Kaby Lake PCH (KBP)\n");
|
||||
WARN_ON(!IS_SKYLAKE(dev_priv) && !IS_KABYLAKE(dev_priv) &&
|
||||
!IS_COFFEELAKE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm,
|
||||
!IS_SKYLAKE(dev_priv) && !IS_KABYLAKE(dev_priv) &&
|
||||
!IS_COFFEELAKE(dev_priv));
|
||||
/* KBP is SPT compatible */
|
||||
return PCH_SPT;
|
||||
case INTEL_PCH_CNP_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found Cannon Lake PCH (CNP)\n");
|
||||
WARN_ON(!IS_CANNONLAKE(dev_priv) && !IS_COFFEELAKE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm, !IS_CANNONLAKE(dev_priv) &&
|
||||
!IS_COFFEELAKE(dev_priv));
|
||||
return PCH_CNP;
|
||||
case INTEL_PCH_CNP_LP_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm,
|
||||
"Found Cannon Lake LP PCH (CNP-LP)\n");
|
||||
WARN_ON(!IS_CANNONLAKE(dev_priv) && !IS_COFFEELAKE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm, !IS_CANNONLAKE(dev_priv) &&
|
||||
!IS_COFFEELAKE(dev_priv));
|
||||
return PCH_CNP;
|
||||
case INTEL_PCH_CMP_DEVICE_ID_TYPE:
|
||||
case INTEL_PCH_CMP2_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found Comet Lake PCH (CMP)\n");
|
||||
WARN_ON(!IS_COFFEELAKE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm, !IS_COFFEELAKE(dev_priv));
|
||||
/* CometPoint is CNP Compatible */
|
||||
return PCH_CNP;
|
||||
case INTEL_PCH_CMP_V_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found Comet Lake V PCH (CMP-V)\n");
|
||||
WARN_ON(!IS_COFFEELAKE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm, !IS_COFFEELAKE(dev_priv));
|
||||
/* Comet Lake V PCH is based on KBP, which is SPT compatible */
|
||||
return PCH_SPT;
|
||||
case INTEL_PCH_ICP_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found Ice Lake PCH\n");
|
||||
WARN_ON(!IS_ICELAKE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm, !IS_ICELAKE(dev_priv));
|
||||
return PCH_ICP;
|
||||
case INTEL_PCH_MCC_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found Mule Creek Canyon PCH\n");
|
||||
WARN_ON(!IS_ELKHARTLAKE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm, !IS_ELKHARTLAKE(dev_priv));
|
||||
return PCH_MCC;
|
||||
case INTEL_PCH_TGP_DEVICE_ID_TYPE:
|
||||
case INTEL_PCH_TGP2_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found Tiger Lake LP PCH\n");
|
||||
WARN_ON(!IS_TIGERLAKE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm, !IS_TIGERLAKE(dev_priv));
|
||||
return PCH_TGP;
|
||||
case INTEL_PCH_JSP_DEVICE_ID_TYPE:
|
||||
case INTEL_PCH_JSP2_DEVICE_ID_TYPE:
|
||||
drm_dbg_kms(&dev_priv->drm, "Found Jasper Lake PCH\n");
|
||||
WARN_ON(!IS_ELKHARTLAKE(dev_priv));
|
||||
drm_WARN_ON(&dev_priv->drm, !IS_ELKHARTLAKE(dev_priv));
|
||||
return PCH_JSP;
|
||||
default:
|
||||
return PCH_NONE;
|
||||
@@ -188,7 +203,8 @@ void intel_detect_pch(struct drm_i915_private *dev_priv)
|
||||
pch_type = intel_pch_type(dev_priv, id);
|
||||
|
||||
/* Sanity check virtual PCH id */
|
||||
if (WARN_ON(id && pch_type == PCH_NONE))
|
||||
if (drm_WARN_ON(&dev_priv->drm,
|
||||
id && pch_type == PCH_NONE))
|
||||
id = 0;
|
||||
|
||||
dev_priv->pch_type = pch_type;
|
||||
|
Reference in New Issue
Block a user