#include "gt/intel_gpu_commands.h"
#include "gt/intel_gt.h"
#include "gem/i915_gem_internal.h"
#include "gem/selftests/igt_gem_utils.h"
#include "igt_spinner.h"
int igt_spinner_init(struct igt_spinner *spin, struct intel_gt *gt)
{ … }
static void *igt_spinner_pin_obj(struct intel_context *ce,
struct i915_gem_ww_ctx *ww,
struct drm_i915_gem_object *obj,
unsigned int mode, struct i915_vma **vma)
{ … }
int igt_spinner_pin(struct igt_spinner *spin,
struct intel_context *ce,
struct i915_gem_ww_ctx *ww)
{ … }
static unsigned int seqno_offset(u64 fence)
{ … }
static u64 hws_address(const struct i915_vma *hws,
const struct i915_request *rq)
{ … }
struct i915_request *
igt_spinner_create_request(struct igt_spinner *spin,
struct intel_context *ce,
u32 arbitration_command)
{ … }
static u32
hws_seqno(const struct igt_spinner *spin, const struct i915_request *rq)
{ … }
void igt_spinner_end(struct igt_spinner *spin)
{ … }
void igt_spinner_fini(struct igt_spinner *spin)
{ … }
bool igt_wait_for_spinner(struct igt_spinner *spin, struct i915_request *rq)
{ … }