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: spatch --sp-file <script> --dir drivers/gpu/drm/i915/gem \
                                        --linux-spacing --in-place

Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharad...@intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_pm.c       |  3 ++-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c    |  3 ++-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 13 ++++++++-----
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c   | 15 +++++++++------
 4 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pm.c 
b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
index c8264eb036bf..3d215164dd5a 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
@@ -85,7 +85,8 @@ void i915_gem_suspend_late(struct drm_i915_private *i915)
                        spin_unlock_irqrestore(&i915->mm.obj_lock, flags);
 
                        i915_gem_object_lock(obj);
-                       WARN_ON(i915_gem_object_set_to_gtt_domain(obj, false));
+                       drm_WARN_ON(&i915->drm,
+                           i915_gem_object_set_to_gtt_domain(obj, false));
                        i915_gem_object_unlock(obj);
                        i915_gem_object_put(obj);
 
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c 
b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
index a2a980d9d241..5d5d7eef3f43 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
@@ -148,7 +148,8 @@ static int shmem_get_pages(struct drm_i915_gem_object *obj)
                last_pfn = page_to_pfn(page);
 
                /* Check that the i965g/gm workaround works. */
-               WARN_ON((gfp & __GFP_DMA32) && (last_pfn >= 0x00100000UL));
+               drm_WARN_ON(&i915->drm,
+                           (gfp & __GFP_DMA32) && (last_pfn >= 0x00100000UL));
        }
        if (sg) { /* loop terminated early; short sg table */
                sg_page_sizes |= sg->length;
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c 
b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
index f7e4b39c734f..7eaa2ab01de3 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
@@ -403,19 +403,22 @@ void i915_gem_driver_register__shrinker(struct 
drm_i915_private *i915)
        i915->mm.shrinker.count_objects = i915_gem_shrinker_count;
        i915->mm.shrinker.seeks = DEFAULT_SEEKS;
        i915->mm.shrinker.batch = 4096;
-       WARN_ON(register_shrinker(&i915->mm.shrinker));
+       drm_WARN_ON(&i915->drm, register_shrinker(&i915->mm.shrinker));
 
        i915->mm.oom_notifier.notifier_call = i915_gem_shrinker_oom;
-       WARN_ON(register_oom_notifier(&i915->mm.oom_notifier));
+       drm_WARN_ON(&i915->drm, register_oom_notifier(&i915->mm.oom_notifier));
 
        i915->mm.vmap_notifier.notifier_call = i915_gem_shrinker_vmap;
-       WARN_ON(register_vmap_purge_notifier(&i915->mm.vmap_notifier));
+       drm_WARN_ON(&i915->drm,
+                   register_vmap_purge_notifier(&i915->mm.vmap_notifier));
 }
 
 void i915_gem_driver_unregister__shrinker(struct drm_i915_private *i915)
 {
-       WARN_ON(unregister_vmap_purge_notifier(&i915->mm.vmap_notifier));
-       WARN_ON(unregister_oom_notifier(&i915->mm.oom_notifier));
+       drm_WARN_ON(&i915->drm,
+                   unregister_vmap_purge_notifier(&i915->mm.vmap_notifier));
+       drm_WARN_ON(&i915->drm,
+                   unregister_oom_notifier(&i915->mm.oom_notifier));
        unregister_shrinker(&i915->mm.shrinker);
 }
 
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c 
b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
index 451f3078d60d..62320ae5e646 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
@@ -181,14 +181,16 @@ static void g4x_get_stolen_reserved(struct 
drm_i915_private *i915,
         * Whether ILK really reuses the ELK register for this is unclear.
         * Let's see if we catch anyone with this supposedly enabled on ILK.
         */
-       WARN(IS_GEN(i915, 5), "ILK stolen reserved found? 0x%08x\n",
-            reg_val);
+       drm_WARN(&i915->drm, IS_GEN(i915, 5),
+                "ILK stolen reserved found? 0x%08x\n",
+                reg_val);
 
        if (!(reg_val & G4X_STOLEN_RESERVED_ADDR2_MASK))
                return;
 
        *base = (reg_val & G4X_STOLEN_RESERVED_ADDR2_MASK) << 16;
-       WARN_ON((reg_val & G4X_STOLEN_RESERVED_ADDR1_MASK) < *base);
+       drm_WARN_ON(&i915->drm,
+                   (reg_val & G4X_STOLEN_RESERVED_ADDR1_MASK) < *base);
 
        *size = stolen_top - *base;
 }
@@ -694,9 +696,10 @@ i915_gem_object_create_stolen_for_preallocated(struct 
drm_i915_private *i915,
                         &stolen_offset, &gtt_offset, &size);
 
        /* KISS and expect everything to be page-aligned */
-       if (WARN_ON(size == 0) ||
-           WARN_ON(!IS_ALIGNED(size, I915_GTT_PAGE_SIZE)) ||
-           WARN_ON(!IS_ALIGNED(stolen_offset, I915_GTT_MIN_ALIGNMENT)))
+       if (drm_WARN_ON(&i915->drm, size == 0) ||
+           drm_WARN_ON(&i915->drm, !IS_ALIGNED(size, I915_GTT_PAGE_SIZE)) ||
+           drm_WARN_ON(&i915->drm,
+                       !IS_ALIGNED(stolen_offset, I915_GTT_MIN_ALIGNMENT)))
                return ERR_PTR(-EINVAL);
 
        stolen = kzalloc(sizeof(*stolen), GFP_KERNEL);
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to