drm/i915/fbdev: Make WARN* drm specific where drm_device ptr is available
authorPankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
Tue, 28 Jan 2020 18:15:53 +0000 (23:45 +0530)
committerJani Nikula <jani.nikula@intel.com>
Tue, 4 Feb 2020 08:46:56 +0000 (10:46 +0200)
Drm specific drm_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_device 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_device *T = ...;
<...
(
-WARN(
+drm_WARN(T,
...)
|
-WARN_ON(
+drm_WARN_ON(T,
...)
|
-WARN_ONCE(
+drm_WARN_ONCE(T,
...)
|
-WARN_ON_ONCE(
+drm_WARN_ON_ONCE(T,
...)
)
...>
}

@rule2@
identifier func, T;
@@
func(struct drm_device *T,...) {
<...
(
-WARN(
+drm_WARN(T,
...)
|
-WARN_ON(
+drm_WARN_ON(T,
...)
|
-WARN_ONCE(
+drm_WARN_ONCE(T,
...)
|
-WARN_ON_ONCE(
+drm_WARN_ON_ONCE(T,
...)
)
...>
}

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/20200128181603.27767-12-pankaj.laxminarayan.bharadiya@intel.com
drivers/gpu/drm/i915/display/intel_fbdev.c

index 1e98e432c9fae9e8ce72ffbbc7e26de5b86a18d9..b4ff772252369d746528b3ca97a7d4c608f13c99 100644 (file)
@@ -191,7 +191,7 @@ static int intelfb_create(struct drm_fb_helper *helper,
                drm_framebuffer_put(&intel_fb->base);
                intel_fb = ifbdev->fb = NULL;
        }
-       if (!intel_fb || WARN_ON(!intel_fb_obj(&intel_fb->base))) {
+       if (!intel_fb || drm_WARN_ON(dev, !intel_fb_obj(&intel_fb->base))) {
                DRM_DEBUG_KMS("no BIOS fb, allocating a new one\n");
                ret = intelfb_alloc(helper, sizes);
                if (ret)
@@ -410,9 +410,9 @@ static bool intel_fbdev_init_bios(struct drm_device *dev,
                if (!crtc->state->active)
                        continue;
 
-               WARN(!crtc->primary->state->fb,
-                    "re-used BIOS config but lost an fb on crtc %d\n",
-                    crtc->base.id);
+               drm_WARN(dev, !crtc->primary->state->fb,
+                        "re-used BIOS config but lost an fb on crtc %d\n",
+                        crtc->base.id);
        }
 
 
@@ -439,7 +439,8 @@ int intel_fbdev_init(struct drm_device *dev)
        struct intel_fbdev *ifbdev;
        int ret;
 
-       if (WARN_ON(!HAS_DISPLAY(dev_priv) || !INTEL_DISPLAY_ENABLED(dev_priv)))
+       if (drm_WARN_ON(dev, !HAS_DISPLAY(dev_priv) ||
+                       !INTEL_DISPLAY_ENABLED(dev_priv)))
                return -ENODEV;
 
        ifbdev = kzalloc(sizeof(struct intel_fbdev), GFP_KERNEL);
@@ -569,7 +570,7 @@ void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous
                 * to all the printk activity.  Try to keep it out of the hot
                 * path of resume if possible.
                 */
-               WARN_ON(state != FBINFO_STATE_RUNNING);
+               drm_WARN_ON(dev, state != FBINFO_STATE_RUNNING);
                if (!console_trylock()) {
                        /* Don't block our own workqueue as this can
                         * be run in parallel with other i915.ko tasks.