1 /* $NetBSD: intel_engine_pool.h,v 1.2 2021/12/18 23:45:30 riastradh Exp $ */ 2 3 /* 4 * SPDX-License-Identifier: MIT 5 * 6 * Copyright © 2014-2018 Intel Corporation 7 */ 8 9 #ifndef INTEL_ENGINE_POOL_H 10 #define INTEL_ENGINE_POOL_H 11 12 #include "intel_engine_pool_types.h" 13 #include "i915_active.h" 14 #include "i915_request.h" 15 16 struct intel_engine_pool_node * 17 intel_engine_get_pool(struct intel_engine_cs *engine, size_t size); 18 19 static inline int intel_engine_pool_mark_active(struct intel_engine_pool_node * node,struct i915_request * rq)20intel_engine_pool_mark_active(struct intel_engine_pool_node *node, 21 struct i915_request *rq) 22 { 23 return i915_active_add_request(&node->active, rq); 24 } 25 26 static inline void intel_engine_pool_put(struct intel_engine_pool_node * node)27intel_engine_pool_put(struct intel_engine_pool_node *node) 28 { 29 i915_active_release(&node->active); 30 } 31 32 void intel_engine_pool_init(struct intel_engine_pool *pool); 33 void intel_engine_pool_park(struct intel_engine_pool *pool); 34 void intel_engine_pool_fini(struct intel_engine_pool *pool); 35 36 #endif /* INTEL_ENGINE_POOL_H */ 37