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 12typedef void (*i915_global_func_t)(void); 13 14struct i915_global { 15 struct list_head link; 16 17 i915_global_func_t shrink; 18 i915_global_func_t exit; 19}; 20 21void i915_global_register(struct i915_global *global); 22 23int i915_globals_init(void); 24void i915_globals_park(void); 25void i915_globals_unpark(void); 26void i915_globals_exit(void); 27 28/* constructors */ 29int i915_global_active_init(void); 30int i915_global_buddy_init(void); 31int i915_global_context_init(void); 32int i915_global_gem_context_init(void); 33int i915_global_objects_init(void); 34int i915_global_request_init(void); 35int i915_global_scheduler_init(void); 36int i915_global_vma_init(void); 37 38#endif /* _I915_GLOBALS_H_ */ 39