1 #ifndef __NOUVEAU_MM_H__
2 #define __NOUVEAU_MM_H__
4 union nouveau_bo_config
;
7 /* Since a resource can be migrated, we need to decouple allocations from
8 * them. This struct is linked with fences for delayed freeing of allocs.
10 struct nouveau_mm_allocation
{
11 struct nouveau_mm_allocation
*next
;
16 extern struct nouveau_mman
*
17 nouveau_mm_create(struct nouveau_device
*, uint32_t domain
,
18 union nouveau_bo_config
*);
21 nouveau_mm_destroy(struct nouveau_mman
*);
23 extern struct nouveau_mm_allocation
*
24 nouveau_mm_allocate(struct nouveau_mman
*, uint32_t size
,
25 struct nouveau_bo
**, uint32_t *offset
);
28 nouveau_mm_free(struct nouveau_mm_allocation
*);
31 nouveau_mm_free_work(void *);
33 #endif // __NOUVEAU_MM_H__