#include <linux/sort.h>
#include "gt/intel_gt_print.h"
#include "i915_selftest.h"
#include "intel_engine_regs.h"
#include "intel_gpu_commands.h"
#include "intel_gt_clock_utils.h"
#include "selftest_engine.h"
#include "selftest_engine_heartbeat.h"
#include "selftests/igt_atomic.h"
#include "selftests/igt_flush_test.h"
#include "selftests/igt_spinner.h"
#define COUNT …
static int cmp_u64(const void *A, const void *B)
{ … }
static u64 trifilter(u64 *a)
{ … }
static u32 *emit_wait(u32 *cs, u32 offset, int op, u32 value)
{ … }
static u32 *emit_store(u32 *cs, u32 offset, u32 value)
{ … }
static u32 *emit_srm(u32 *cs, i915_reg_t reg, u32 offset)
{ … }
static void write_semaphore(u32 *x, u32 value)
{ … }
static int __measure_timestamps(struct intel_context *ce,
u64 *dt, u64 *d_ring, u64 *d_ctx)
{ … }
static int __live_engine_timestamps(struct intel_engine_cs *engine)
{ … }
static int live_engine_timestamps(void *arg)
{ … }
static int __spin_until_busier(struct intel_engine_cs *engine, ktime_t busyness)
{ … }
static int live_engine_busy_stats(void *arg)
{ … }
static int live_engine_pm(void *arg)
{ … }
int live_engine_pm_selftests(struct intel_gt *gt)
{ … }