1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright �� 2021 Intel Corporation
4 */
5
6#ifndef _INTEL_SELFTEST_SCHEDULER_HELPERS_H_
7#define _INTEL_SELFTEST_SCHEDULER_HELPERS_H_
8
9#include <linux/types.h>
10
11struct i915_request;
12struct intel_engine_cs;
13struct intel_gt;
14
15struct intel_selftest_saved_policy {
16	u32 flags;
17	u32 reset;
18	u64 timeslice;
19	u64 preempt_timeout;
20};
21
22enum selftest_scheduler_modify {
23	SELFTEST_SCHEDULER_MODIFY_NO_HANGCHECK = 0,
24	SELFTEST_SCHEDULER_MODIFY_FAST_RESET,
25};
26
27struct intel_engine_cs *intel_selftest_find_any_engine(struct intel_gt *gt);
28int intel_selftest_modify_policy(struct intel_engine_cs *engine,
29				 struct intel_selftest_saved_policy *saved,
30				 enum selftest_scheduler_modify modify_type);
31int intel_selftest_restore_policy(struct intel_engine_cs *engine,
32				  struct intel_selftest_saved_policy *saved);
33int intel_selftest_wait_for_rq(struct i915_request *rq);
34
35#endif
36