• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * SPDX-License-Identifier: MIT
3  *
4  * Copyright © 2019 Intel Corporation
5  */
6 
7 #ifndef _I915_GLOBALS_H_
8 #define _I915_GLOBALS_H_
9 
10 #include <linux/types.h>
11 
12 typedef void (*i915_global_func_t)(void);
13 
14 struct i915_global {
15 	struct list_head link;
16 
17 	i915_global_func_t shrink;
18 	i915_global_func_t exit;
19 };
20 
21 void i915_global_register(struct i915_global *global);
22 
23 int i915_globals_init(void);
24 void i915_globals_park(void);
25 void i915_globals_unpark(void);
26 void i915_globals_exit(void);
27 
28 /* constructors */
29 int i915_global_active_init(void);
30 int i915_global_buddy_init(void);
31 int i915_global_context_init(void);
32 int i915_global_gem_context_init(void);
33 int i915_global_objects_init(void);
34 int i915_global_request_init(void);
35 int i915_global_scheduler_init(void);
36 int i915_global_vma_init(void);
37 
38 #endif /* _I915_GLOBALS_H_ */
39