blob: 8e4f1e5713f20b4871a5d47fb342bd1d29f53450 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#ifndef __NOUVEAU_MM_H__
#define __NOUVEAU_MM_H__
union nouveau_bo_config;
struct nouveau_mman;
/* Since a resource can be migrated, we need to decouple allocations from
* them. This struct is linked with fences for delayed freeing of allocs.
*/
struct nouveau_mm_allocation {
struct nouveau_mm_allocation *next;
void *priv;
uint32_t offset;
};
extern struct nouveau_mman *
nouveau_mm_create(struct nouveau_device *, uint32_t domain,
union nouveau_bo_config *);
extern void
nouveau_mm_destroy(struct nouveau_mman *);
extern struct nouveau_mm_allocation *
nouveau_mm_allocate(struct nouveau_mman *, uint32_t size,
struct nouveau_bo **, uint32_t *offset);
extern void
nouveau_mm_free(struct nouveau_mm_allocation *);
extern void
nouveau_mm_free_work(void *);
#endif // __NOUVEAU_MM_H__
|