Home | History | Annotate | Line # | Download | only in gt
      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
     20 intel_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
     27 intel_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