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