mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
drm/i915/gt: Show engine properties in the pretty printer
When debugging the engine state, include the user properties that may, or may not, have been adjusted by the user/test. For example, vecs0 ... Properties: heartbeat_interval_ms: 2500 [default 2500] max_busywait_duration_ns: 8000 [default 8000] preempt_timeout_ms: 640 [default 640] stop_timeout_ms: 100 [default 100] timeslice_duration_ms: 1 [default 1] Suggested-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200916090059.3189-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
68ba71e3ae
commit
0bda4b80d9
|
|
@ -1599,6 +1599,41 @@ static unsigned long list_count(struct list_head *list)
|
|||
return count;
|
||||
}
|
||||
|
||||
static unsigned long read_ul(void *p, size_t x)
|
||||
{
|
||||
return *(unsigned long *)(p + x);
|
||||
}
|
||||
|
||||
static void print_properties(struct intel_engine_cs *engine,
|
||||
struct drm_printer *m)
|
||||
{
|
||||
static const struct pmap {
|
||||
size_t offset;
|
||||
const char *name;
|
||||
} props[] = {
|
||||
#define P(x) { \
|
||||
.offset = offsetof(typeof(engine->props), x), \
|
||||
.name = #x \
|
||||
}
|
||||
P(heartbeat_interval_ms),
|
||||
P(max_busywait_duration_ns),
|
||||
P(preempt_timeout_ms),
|
||||
P(stop_timeout_ms),
|
||||
P(timeslice_duration_ms),
|
||||
|
||||
{},
|
||||
#undef P
|
||||
};
|
||||
const struct pmap *p;
|
||||
|
||||
drm_printf(m, "\tProperties:\n");
|
||||
for (p = props; p->name; p++)
|
||||
drm_printf(m, "\t\t%s: %lu [default %lu]\n",
|
||||
p->name,
|
||||
read_ul(&engine->props, p->offset),
|
||||
read_ul(&engine->defaults, p->offset));
|
||||
}
|
||||
|
||||
void intel_engine_dump(struct intel_engine_cs *engine,
|
||||
struct drm_printer *m,
|
||||
const char *header, ...)
|
||||
|
|
@ -1641,6 +1676,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
|
|||
drm_printf(m, "\tReset count: %d (global %d)\n",
|
||||
i915_reset_engine_count(error, engine),
|
||||
i915_reset_count(error));
|
||||
print_properties(engine, m);
|
||||
|
||||
drm_printf(m, "\tRequests:\n");
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user