mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
![Matthew Auld](/assets/img/avatar_default.png)
Simple buddy allocator. We want to allocate properly aligned power-of-two blocks to promote usage of huge-pages for the GTT, so 64K, 2M and possibly even 1G. While we do support allocating stuff at a specific offset, it is more intended for preallocating portions of the address space, say for an initial framebuffer, for other uses drm_mm is probably a much better fit. Anyway, hopefully this can all be thrown away if we eventually move to having the core MM manage device memory. Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20190809202926.14545-2-matthew.auld@intel.com
38 lines
821 B
C
38 lines
821 B
C
/*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
* Copyright © 2019 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _I915_GLOBALS_H_
|
|
#define _I915_GLOBALS_H_
|
|
|
|
#include <linux/types.h>
|
|
|
|
typedef void (*i915_global_func_t)(void);
|
|
|
|
struct i915_global {
|
|
struct list_head link;
|
|
|
|
i915_global_func_t shrink;
|
|
i915_global_func_t exit;
|
|
};
|
|
|
|
void i915_global_register(struct i915_global *global);
|
|
|
|
int i915_globals_init(void);
|
|
void i915_globals_park(void);
|
|
void i915_globals_unpark(void);
|
|
void i915_globals_exit(void);
|
|
|
|
/* constructors */
|
|
int i915_global_active_init(void);
|
|
int i915_global_buddy_init(void);
|
|
int i915_global_context_init(void);
|
|
int i915_global_gem_context_init(void);
|
|
int i915_global_objects_init(void);
|
|
int i915_global_request_init(void);
|
|
int i915_global_scheduler_init(void);
|
|
int i915_global_vma_init(void);
|
|
|
|
#endif /* _I915_GLOBALS_H_ */
|