cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

igt_spinner.h (1037B)


      1/*
      2 * SPDX-License-Identifier: MIT
      3 *
      4 * Copyright © 2018 Intel Corporation
      5 */
      6
      7#ifndef __I915_SELFTESTS_IGT_SPINNER_H__
      8#define __I915_SELFTESTS_IGT_SPINNER_H__
      9
     10#include "gem/i915_gem_context.h"
     11#include "gt/intel_engine.h"
     12
     13#include "i915_drv.h"
     14#include "i915_request.h"
     15#include "i915_selftest.h"
     16
     17struct intel_gt;
     18
     19struct igt_spinner {
     20	struct intel_gt *gt;
     21	struct drm_i915_gem_object *hws;
     22	struct drm_i915_gem_object *obj;
     23	struct intel_context *ce;
     24	struct i915_vma *hws_vma, *batch_vma;
     25	u32 *batch;
     26	void *seqno;
     27};
     28
     29int igt_spinner_init(struct igt_spinner *spin, struct intel_gt *gt);
     30int igt_spinner_pin(struct igt_spinner *spin,
     31		    struct intel_context *ce,
     32		    struct i915_gem_ww_ctx *ww);
     33void igt_spinner_fini(struct igt_spinner *spin);
     34
     35struct i915_request *
     36igt_spinner_create_request(struct igt_spinner *spin,
     37			   struct intel_context *ce,
     38			   u32 arbitration_command);
     39void igt_spinner_end(struct igt_spinner *spin);
     40
     41bool igt_wait_for_spinner(struct igt_spinner *spin, struct i915_request *rq);
     42
     43#endif