Commit | Line | Data |
---|---|---|
16e87459 CW |
1 | /* SPDX-License-Identifier: MIT */ |
2 | /* | |
3 | * Copyright © 2014-2018 Intel Corporation | |
4 | */ | |
5 | ||
6 | #ifndef INTEL_GT_BUFFER_POOL_H | |
7 | #define INTEL_GT_BUFFER_POOL_H | |
8 | ||
9 | #include <linux/types.h> | |
10 | ||
11 | #include "i915_active.h" | |
12 | #include "intel_gt_buffer_pool_types.h" | |
13 | ||
14 | struct intel_gt; | |
15 | struct i915_request; | |
16 | ||
17 | struct intel_gt_buffer_pool_node * | |
8f47c8c3 MA |
18 | intel_gt_get_buffer_pool(struct intel_gt *gt, size_t size, |
19 | enum i915_map_type type); | |
16e87459 CW |
20 | |
21 | static inline int | |
22 | intel_gt_buffer_pool_mark_active(struct intel_gt_buffer_pool_node *node, | |
23 | struct i915_request *rq) | |
24 | { | |
25 | return i915_active_add_request(&node->active, rq); | |
26 | } | |
27 | ||
28 | static inline void | |
29 | intel_gt_buffer_pool_put(struct intel_gt_buffer_pool_node *node) | |
30 | { | |
31 | i915_active_release(&node->active); | |
32 | } | |
33 | ||
34 | void intel_gt_init_buffer_pool(struct intel_gt *gt); | |
35 | void intel_gt_flush_buffer_pool(struct intel_gt *gt); | |
36 | void intel_gt_fini_buffer_pool(struct intel_gt *gt); | |
37 | ||
38 | #endif /* INTEL_GT_BUFFER_POOL_H */ |