xref: /linux/drivers/gpu/drm/i915/gt/mock_engine.h (revision 24f90d66)
1*24f90d66SChris Wilson /* SPDX-License-Identifier: MIT */
2112ed2d3SChris Wilson /*
3112ed2d3SChris Wilson  * Copyright © 2016 Intel Corporation
4112ed2d3SChris Wilson  */
5112ed2d3SChris Wilson 
6112ed2d3SChris Wilson #ifndef __MOCK_ENGINE_H__
7112ed2d3SChris Wilson #define __MOCK_ENGINE_H__
8112ed2d3SChris Wilson 
9112ed2d3SChris Wilson #include <linux/list.h>
10112ed2d3SChris Wilson #include <linux/spinlock.h>
11112ed2d3SChris Wilson #include <linux/timer.h>
12112ed2d3SChris Wilson 
13112ed2d3SChris Wilson #include "gt/intel_engine.h"
14112ed2d3SChris Wilson 
15112ed2d3SChris Wilson struct mock_engine {
16112ed2d3SChris Wilson 	struct intel_engine_cs base;
17112ed2d3SChris Wilson 
18112ed2d3SChris Wilson 	spinlock_t hw_lock;
19112ed2d3SChris Wilson 	struct list_head hw_queue;
20112ed2d3SChris Wilson 	struct timer_list hw_delay;
21112ed2d3SChris Wilson };
22112ed2d3SChris Wilson 
23112ed2d3SChris Wilson struct intel_engine_cs *mock_engine(struct drm_i915_private *i915,
24112ed2d3SChris Wilson 				    const char *name,
25112ed2d3SChris Wilson 				    int id);
2611334c6aSChris Wilson int mock_engine_init(struct intel_engine_cs *engine);
2711334c6aSChris Wilson 
28112ed2d3SChris Wilson void mock_engine_flush(struct intel_engine_cs *engine);
29112ed2d3SChris Wilson void mock_engine_reset(struct intel_engine_cs *engine);
30112ed2d3SChris Wilson void mock_engine_free(struct intel_engine_cs *engine);
31112ed2d3SChris Wilson 
32112ed2d3SChris Wilson #endif /* !__MOCK_ENGINE_H__ */
33