1*5ca02815Sjsg /* SPDX-License-Identifier: MIT */ 2c349dbc7Sjsg /* 3c349dbc7Sjsg * Copyright © 2016 Intel Corporation 4c349dbc7Sjsg */ 5c349dbc7Sjsg 6c349dbc7Sjsg #ifndef __MOCK_ENGINE_H__ 7c349dbc7Sjsg #define __MOCK_ENGINE_H__ 8c349dbc7Sjsg 9c349dbc7Sjsg #include <linux/list.h> 10c349dbc7Sjsg #include <linux/spinlock.h> 11c349dbc7Sjsg #include <linux/timer.h> 12c349dbc7Sjsg 13c349dbc7Sjsg #include "gt/intel_engine.h" 14c349dbc7Sjsg 15c349dbc7Sjsg struct mock_engine { 16c349dbc7Sjsg struct intel_engine_cs base; 17c349dbc7Sjsg 18c349dbc7Sjsg spinlock_t hw_lock; 19c349dbc7Sjsg struct list_head hw_queue; 20c349dbc7Sjsg struct timer_list hw_delay; 21c349dbc7Sjsg }; 22c349dbc7Sjsg 23c349dbc7Sjsg struct intel_engine_cs *mock_engine(struct drm_i915_private *i915, 24c349dbc7Sjsg const char *name, 25c349dbc7Sjsg int id); 26c349dbc7Sjsg int mock_engine_init(struct intel_engine_cs *engine); 27c349dbc7Sjsg 28c349dbc7Sjsg void mock_engine_flush(struct intel_engine_cs *engine); 29c349dbc7Sjsg void mock_engine_reset(struct intel_engine_cs *engine); 30c349dbc7Sjsg void mock_engine_free(struct intel_engine_cs *engine); 31c349dbc7Sjsg 32c349dbc7Sjsg #endif /* !__MOCK_ENGINE_H__ */ 33