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