Commit a9f236d1 authored by Pankaj Bharadiya's avatar Pankaj Bharadiya Committed by Jani Nikula

drm/i915: Make WARN* drm specific where uncore or stream 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 intel_uncore/i915_perf_stream  struct
pointer is readily available.

The conversion was done automatically with below coccinelle semantic
patch. checkpatch errors/warnings are fixed manually.

@@
identifier func, T;
@@
func(...) {
...
struct intel_uncore *T = ...;
<...
(
-WARN(
+drm_WARN(&T->i915->drm,
...)
|
-WARN_ON(
+drm_WARN_ON(&T->i915->drm,
...)
|
-WARN_ONCE(
+drm_WARN_ONCE(&T->i915->drm,
...)
|
-WARN_ON_ONCE(
+drm_WARN_ON_ONCE(&T->i915->drm,
...)
)
...>

}

@@
identifier func, T;
@@
func(struct intel_uncore *T,...) {
<...
(
-WARN(
+drm_WARN(&T->i915->drm,
...)
|
-WARN_ON(
+drm_WARN_ON(&T->i915->drm,
...)
|
-WARN_ONCE(
+drm_WARN_ONCE(&T->i915->drm,
...)
|
-WARN_ON_ONCE(
+drm_WARN_ON_ONCE(&T->i915->drm,
...)
)
...>

}

@@
identifier func, T;
@@
func(struct i915_perf_stream *T,...) {
+struct drm_i915_private *i915 = T->perf->i915;
<+...
(
-WARN(
+drm_WARN(&i915->drm,
...)
|
-WARN_ON(
+drm_WARN_ON(&i915->drm,
...)
|
-WARN_ONCE(
+drm_WARN_ONCE(&i915->drm,
...)
|
-WARN_ON_ONCE(
+drm_WARN_ON_ONCE(&i915->drm,
...)
)
...+>

}

command: ls drivers/gpu/drm/i915/*.c | xargs spatch --sp-file <script> \
					--linux-spacing --in-place
Signed-off-by: default avatarPankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200115034455.17658-11-pankaj.laxminarayan.bharadiya@intel.com
parent 48a1b8d4
...@@ -237,11 +237,12 @@ static int fence_update(struct i915_fence_reg *fence, ...@@ -237,11 +237,12 @@ static int fence_update(struct i915_fence_reg *fence,
if (!i915_vma_is_map_and_fenceable(vma)) if (!i915_vma_is_map_and_fenceable(vma))
return -EINVAL; return -EINVAL;
if (WARN(!i915_gem_object_get_stride(vma->obj) || if (drm_WARN(&uncore->i915->drm,
!i915_gem_object_get_tiling(vma->obj), !i915_gem_object_get_stride(vma->obj) ||
"bogus fence setup with stride: 0x%x, tiling mode: %i\n", !i915_gem_object_get_tiling(vma->obj),
i915_gem_object_get_stride(vma->obj), "bogus fence setup with stride: 0x%x, tiling mode: %i\n",
i915_gem_object_get_tiling(vma->obj))) i915_gem_object_get_stride(vma->obj),
i915_gem_object_get_tiling(vma->obj)))
return -EINVAL; return -EINVAL;
ret = i915_vma_sync(vma); ret = i915_vma_sync(vma);
......
...@@ -208,8 +208,9 @@ static void gen3_assert_iir_is_zero(struct intel_uncore *uncore, i915_reg_t reg) ...@@ -208,8 +208,9 @@ static void gen3_assert_iir_is_zero(struct intel_uncore *uncore, i915_reg_t reg)
if (val == 0) if (val == 0)
return; return;
WARN(1, "Interrupt register 0x%x is not zero: 0x%08x\n", drm_WARN(&uncore->i915->drm, 1,
i915_mmio_reg_offset(reg), val); "Interrupt register 0x%x is not zero: 0x%08x\n",
i915_mmio_reg_offset(reg), val);
intel_uncore_write(uncore, reg, 0xffffffff); intel_uncore_write(uncore, reg, 0xffffffff);
intel_uncore_posting_read(uncore, reg); intel_uncore_posting_read(uncore, reg);
intel_uncore_write(uncore, reg, 0xffffffff); intel_uncore_write(uncore, reg, 0xffffffff);
...@@ -223,8 +224,9 @@ static void gen2_assert_iir_is_zero(struct intel_uncore *uncore) ...@@ -223,8 +224,9 @@ static void gen2_assert_iir_is_zero(struct intel_uncore *uncore)
if (val == 0) if (val == 0)
return; return;
WARN(1, "Interrupt register 0x%x is not zero: 0x%08x\n", drm_WARN(&uncore->i915->drm, 1,
i915_mmio_reg_offset(GEN2_IIR), val); "Interrupt register 0x%x is not zero: 0x%08x\n",
i915_mmio_reg_offset(GEN2_IIR), val);
intel_uncore_write16(uncore, GEN2_IIR, 0xffff); intel_uncore_write16(uncore, GEN2_IIR, 0xffff);
intel_uncore_posting_read16(uncore, GEN2_IIR); intel_uncore_posting_read16(uncore, GEN2_IIR);
intel_uncore_write16(uncore, GEN2_IIR, 0xffff); intel_uncore_write16(uncore, GEN2_IIR, 0xffff);
......
...@@ -686,7 +686,7 @@ static int gen8_append_oa_reports(struct i915_perf_stream *stream, ...@@ -686,7 +686,7 @@ static int gen8_append_oa_reports(struct i915_perf_stream *stream,
u32 taken; u32 taken;
int ret = 0; int ret = 0;
if (WARN_ON(!stream->enabled)) if (drm_WARN_ON(&uncore->i915->drm, !stream->enabled))
return -EIO; return -EIO;
spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags);
...@@ -718,10 +718,11 @@ static int gen8_append_oa_reports(struct i915_perf_stream *stream, ...@@ -718,10 +718,11 @@ static int gen8_append_oa_reports(struct i915_perf_stream *stream,
* only be incremented by multiples of the report size (notably also * only be incremented by multiples of the report size (notably also
* all a power of two). * all a power of two).
*/ */
if (WARN_ONCE(head > OA_BUFFER_SIZE || head % report_size || if (drm_WARN_ONCE(&uncore->i915->drm,
tail > OA_BUFFER_SIZE || tail % report_size, head > OA_BUFFER_SIZE || head % report_size ||
"Inconsistent OA buffer pointers: head = %u, tail = %u\n", tail > OA_BUFFER_SIZE || tail % report_size,
head, tail)) "Inconsistent OA buffer pointers: head = %u, tail = %u\n",
head, tail))
return -EIO; return -EIO;
...@@ -742,7 +743,8 @@ static int gen8_append_oa_reports(struct i915_perf_stream *stream, ...@@ -742,7 +743,8 @@ static int gen8_append_oa_reports(struct i915_perf_stream *stream,
* here would imply a driver bug that would result * here would imply a driver bug that would result
* in an overrun. * in an overrun.
*/ */
if (WARN_ON((OA_BUFFER_SIZE - head) < report_size)) { if (drm_WARN_ON(&uncore->i915->drm,
(OA_BUFFER_SIZE - head) < report_size)) {
DRM_ERROR("Spurious OA head ptr: non-integral report offset\n"); DRM_ERROR("Spurious OA head ptr: non-integral report offset\n");
break; break;
} }
...@@ -896,7 +898,7 @@ static int gen8_oa_read(struct i915_perf_stream *stream, ...@@ -896,7 +898,7 @@ static int gen8_oa_read(struct i915_perf_stream *stream,
i915_reg_t oastatus_reg; i915_reg_t oastatus_reg;
int ret; int ret;
if (WARN_ON(!stream->oa_buffer.vaddr)) if (drm_WARN_ON(&uncore->i915->drm, !stream->oa_buffer.vaddr))
return -EIO; return -EIO;
oastatus_reg = IS_GEN(stream->perf->i915, 12) ? oastatus_reg = IS_GEN(stream->perf->i915, 12) ?
...@@ -986,7 +988,7 @@ static int gen7_append_oa_reports(struct i915_perf_stream *stream, ...@@ -986,7 +988,7 @@ static int gen7_append_oa_reports(struct i915_perf_stream *stream,
u32 taken; u32 taken;
int ret = 0; int ret = 0;
if (WARN_ON(!stream->enabled)) if (drm_WARN_ON(&uncore->i915->drm, !stream->enabled))
return -EIO; return -EIO;
spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags); spin_lock_irqsave(&stream->oa_buffer.ptr_lock, flags);
...@@ -1015,10 +1017,11 @@ static int gen7_append_oa_reports(struct i915_perf_stream *stream, ...@@ -1015,10 +1017,11 @@ static int gen7_append_oa_reports(struct i915_perf_stream *stream,
* only be incremented by multiples of the report size (notably also * only be incremented by multiples of the report size (notably also
* all a power of two). * all a power of two).
*/ */
if (WARN_ONCE(head > OA_BUFFER_SIZE || head % report_size || if (drm_WARN_ONCE(&uncore->i915->drm,
tail > OA_BUFFER_SIZE || tail % report_size, head > OA_BUFFER_SIZE || head % report_size ||
"Inconsistent OA buffer pointers: head = %u, tail = %u\n", tail > OA_BUFFER_SIZE || tail % report_size,
head, tail)) "Inconsistent OA buffer pointers: head = %u, tail = %u\n",
head, tail))
return -EIO; return -EIO;
...@@ -1036,7 +1039,8 @@ static int gen7_append_oa_reports(struct i915_perf_stream *stream, ...@@ -1036,7 +1039,8 @@ static int gen7_append_oa_reports(struct i915_perf_stream *stream,
* here would imply a driver bug that would result * here would imply a driver bug that would result
* in an overrun. * in an overrun.
*/ */
if (WARN_ON((OA_BUFFER_SIZE - head) < report_size)) { if (drm_WARN_ON(&uncore->i915->drm,
(OA_BUFFER_SIZE - head) < report_size)) {
DRM_ERROR("Spurious OA head ptr: non-integral report offset\n"); DRM_ERROR("Spurious OA head ptr: non-integral report offset\n");
break; break;
} }
...@@ -1110,7 +1114,7 @@ static int gen7_oa_read(struct i915_perf_stream *stream, ...@@ -1110,7 +1114,7 @@ static int gen7_oa_read(struct i915_perf_stream *stream,
u32 oastatus1; u32 oastatus1;
int ret; int ret;
if (WARN_ON(!stream->oa_buffer.vaddr)) if (drm_WARN_ON(&uncore->i915->drm, !stream->oa_buffer.vaddr))
return -EIO; return -EIO;
oastatus1 = intel_uncore_read(uncore, GEN7_OASTATUS1); oastatus1 = intel_uncore_read(uncore, GEN7_OASTATUS1);
...@@ -1575,11 +1579,12 @@ static void gen12_init_oa_buffer(struct i915_perf_stream *stream) ...@@ -1575,11 +1579,12 @@ static void gen12_init_oa_buffer(struct i915_perf_stream *stream)
static int alloc_oa_buffer(struct i915_perf_stream *stream) static int alloc_oa_buffer(struct i915_perf_stream *stream)
{ {
struct drm_i915_private *i915 = stream->perf->i915;
struct drm_i915_gem_object *bo; struct drm_i915_gem_object *bo;
struct i915_vma *vma; struct i915_vma *vma;
int ret; int ret;
if (WARN_ON(stream->oa_buffer.vma)) if (drm_WARN_ON(&i915->drm, stream->oa_buffer.vma))
return -ENODEV; return -ENODEV;
BUILD_BUG_ON_NOT_POWER_OF_2(OA_BUFFER_SIZE); BUILD_BUG_ON_NOT_POWER_OF_2(OA_BUFFER_SIZE);
...@@ -2718,6 +2723,7 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream, ...@@ -2718,6 +2723,7 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
struct drm_i915_perf_open_param *param, struct drm_i915_perf_open_param *param,
struct perf_open_properties *props) struct perf_open_properties *props)
{ {
struct drm_i915_private *i915 = stream->perf->i915;
struct i915_perf *perf = stream->perf; struct i915_perf *perf = stream->perf;
int format_size; int format_size;
int ret; int ret;
...@@ -2774,7 +2780,7 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream, ...@@ -2774,7 +2780,7 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
stream->sample_size += format_size; stream->sample_size += format_size;
stream->oa_buffer.format_size = format_size; stream->oa_buffer.format_size = format_size;
if (WARN_ON(stream->oa_buffer.format_size == 0)) if (drm_WARN_ON(&i915->drm, stream->oa_buffer.format_size == 0))
return -EINVAL; return -EINVAL;
stream->hold_preemption = props->hold_preemption; stream->hold_preemption = props->hold_preemption;
......
...@@ -324,8 +324,9 @@ static void __gen6_gt_wait_for_thread_c0(struct intel_uncore *uncore) ...@@ -324,8 +324,9 @@ static void __gen6_gt_wait_for_thread_c0(struct intel_uncore *uncore)
* w/a for a sporadic read returning 0 by waiting for the GT * w/a for a sporadic read returning 0 by waiting for the GT
* thread to wake up. * thread to wake up.
*/ */
WARN_ONCE(wait_for_atomic_us(gt_thread_status(uncore) == 0, 5000), drm_WARN_ONCE(&uncore->i915->drm,
"GT thread status wait timed out\n"); wait_for_atomic_us(gt_thread_status(uncore) == 0, 5000),
"GT thread status wait timed out\n");
} }
static void fw_domains_get_with_thread_status(struct intel_uncore *uncore, static void fw_domains_get_with_thread_status(struct intel_uncore *uncore,
...@@ -441,7 +442,7 @@ intel_uncore_forcewake_reset(struct intel_uncore *uncore) ...@@ -441,7 +442,7 @@ intel_uncore_forcewake_reset(struct intel_uncore *uncore)
cond_resched(); cond_resched();
} }
WARN_ON(active_domains); drm_WARN_ON(&uncore->i915->drm, active_domains);
fw = uncore->fw_domains_active; fw = uncore->fw_domains_active;
if (fw) if (fw)
...@@ -757,9 +758,9 @@ void assert_forcewakes_inactive(struct intel_uncore *uncore) ...@@ -757,9 +758,9 @@ void assert_forcewakes_inactive(struct intel_uncore *uncore)
if (!uncore->funcs.force_wake_get) if (!uncore->funcs.force_wake_get)
return; return;
WARN(uncore->fw_domains_active, drm_WARN(&uncore->i915->drm, uncore->fw_domains_active,
"Expected all fw_domains to be inactive, but %08x are still on\n", "Expected all fw_domains to be inactive, but %08x are still on\n",
uncore->fw_domains_active); uncore->fw_domains_active);
} }
void assert_forcewakes_active(struct intel_uncore *uncore, void assert_forcewakes_active(struct intel_uncore *uncore,
...@@ -779,9 +780,9 @@ void assert_forcewakes_active(struct intel_uncore *uncore, ...@@ -779,9 +780,9 @@ void assert_forcewakes_active(struct intel_uncore *uncore,
assert_rpm_wakelock_held(uncore->rpm); assert_rpm_wakelock_held(uncore->rpm);
fw_domains &= uncore->fw_domains; fw_domains &= uncore->fw_domains;
WARN(fw_domains & ~uncore->fw_domains_active, drm_WARN(&uncore->i915->drm, fw_domains & ~uncore->fw_domains_active,
"Expected %08x fw_domains to be active, but %08x are off\n", "Expected %08x fw_domains to be active, but %08x are off\n",
fw_domains, fw_domains & ~uncore->fw_domains_active); fw_domains, fw_domains & ~uncore->fw_domains_active);
/* /*
* Check that the caller has an explicit wakeref and we don't mistake * Check that the caller has an explicit wakeref and we don't mistake
...@@ -794,9 +795,9 @@ void assert_forcewakes_active(struct intel_uncore *uncore, ...@@ -794,9 +795,9 @@ void assert_forcewakes_active(struct intel_uncore *uncore,
if (uncore->fw_domains_timer & domain->mask) if (uncore->fw_domains_timer & domain->mask)
expect++; /* pending automatic release */ expect++; /* pending automatic release */
if (WARN(actual < expect, if (drm_WARN(&uncore->i915->drm, actual < expect,
"Expected domain %d to be held awake by caller, count=%d\n", "Expected domain %d to be held awake by caller, count=%d\n",
domain->id, actual)) domain->id, actual))
break; break;
} }
...@@ -866,9 +867,9 @@ find_fw_domain(struct intel_uncore *uncore, u32 offset) ...@@ -866,9 +867,9 @@ find_fw_domain(struct intel_uncore *uncore, u32 offset)
if (entry->domains == FORCEWAKE_ALL) if (entry->domains == FORCEWAKE_ALL)
return uncore->fw_domains; return uncore->fw_domains;
WARN(entry->domains & ~uncore->fw_domains, drm_WARN(&uncore->i915->drm, entry->domains & ~uncore->fw_domains,
"Uninitialized forcewake domain(s) 0x%x accessed at 0x%x\n", "Uninitialized forcewake domain(s) 0x%x accessed at 0x%x\n",
entry->domains & ~uncore->fw_domains, offset); entry->domains & ~uncore->fw_domains, offset);
return entry->domains; return entry->domains;
} }
...@@ -1158,10 +1159,11 @@ __unclaimed_reg_debug(struct intel_uncore *uncore, ...@@ -1158,10 +1159,11 @@ __unclaimed_reg_debug(struct intel_uncore *uncore,
const bool read, const bool read,
const bool before) const bool before)
{ {
if (WARN(check_for_unclaimed_mmio(uncore) && !before, if (drm_WARN(&uncore->i915->drm,
"Unclaimed %s register 0x%x\n", check_for_unclaimed_mmio(uncore) && !before,
read ? "read from" : "write to", "Unclaimed %s register 0x%x\n",
i915_mmio_reg_offset(reg))) read ? "read from" : "write to",
i915_mmio_reg_offset(reg)))
/* Only report the first N failures */ /* Only report the first N failures */
i915_modparams.mmio_debug--; i915_modparams.mmio_debug--;
} }
...@@ -1436,8 +1438,8 @@ static int __fw_domain_init(struct intel_uncore *uncore, ...@@ -1436,8 +1438,8 @@ static int __fw_domain_init(struct intel_uncore *uncore,
if (!d) if (!d)
return -ENOMEM; return -ENOMEM;
WARN_ON(!i915_mmio_reg_valid(reg_set)); drm_WARN_ON(&uncore->i915->drm, !i915_mmio_reg_valid(reg_set));
WARN_ON(!i915_mmio_reg_valid(reg_ack)); drm_WARN_ON(&uncore->i915->drm, !i915_mmio_reg_valid(reg_ack));
d->uncore = uncore; d->uncore = uncore;
d->wake_count = 0; d->wake_count = 0;
...@@ -1482,8 +1484,8 @@ static void fw_domain_fini(struct intel_uncore *uncore, ...@@ -1482,8 +1484,8 @@ static void fw_domain_fini(struct intel_uncore *uncore,
return; return;
uncore->fw_domains &= ~BIT(domain_id); uncore->fw_domains &= ~BIT(domain_id);
WARN_ON(d->wake_count); drm_WARN_ON(&uncore->i915->drm, d->wake_count);
WARN_ON(hrtimer_cancel(&d->timer)); drm_WARN_ON(&uncore->i915->drm, hrtimer_cancel(&d->timer));
kfree(d); kfree(d);
} }
...@@ -2108,7 +2110,7 @@ intel_uncore_forcewake_for_reg(struct intel_uncore *uncore, ...@@ -2108,7 +2110,7 @@ intel_uncore_forcewake_for_reg(struct intel_uncore *uncore,
{ {
enum forcewake_domains fw_domains = 0; enum forcewake_domains fw_domains = 0;
WARN_ON(!op); drm_WARN_ON(&uncore->i915->drm, !op);
if (!intel_uncore_has_forcewake(uncore)) if (!intel_uncore_has_forcewake(uncore))
return 0; return 0;
...@@ -2119,7 +2121,7 @@ intel_uncore_forcewake_for_reg(struct intel_uncore *uncore, ...@@ -2119,7 +2121,7 @@ intel_uncore_forcewake_for_reg(struct intel_uncore *uncore,
if (op & FW_REG_WRITE) if (op & FW_REG_WRITE)
fw_domains |= uncore->funcs.write_fw_domains(uncore, reg); fw_domains |= uncore->funcs.write_fw_domains(uncore, reg);
WARN_ON(fw_domains & ~uncore->fw_domains); drm_WARN_ON(&uncore->i915->drm, fw_domains & ~uncore->fw_domains);
return fw_domains; return fw_domains;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment