]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/blob - drivers/gpu/drm/nouveau/core/include/core/mm.h
Merge tag 'mxs-dt-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/dt
[can-eth-gw-linux.git] / drivers / gpu / drm / nouveau / core / include / core / mm.h
1 #ifndef __NOUVEAU_MM_H__
2 #define __NOUVEAU_MM_H__
3
4 struct nouveau_mm_node {
5         struct list_head nl_entry;
6         struct list_head fl_entry;
7         struct list_head rl_entry;
8
9         u8  type;
10         u32 offset;
11         u32 length;
12 };
13
14 struct nouveau_mm {
15         struct list_head nodes;
16         struct list_head free;
17
18         struct mutex mutex;
19
20         u32 block_size;
21         int heap_nodes;
22 };
23
24 int  nouveau_mm_init(struct nouveau_mm *, u32 offset, u32 length, u32 block);
25 int  nouveau_mm_fini(struct nouveau_mm *);
26 int  nouveau_mm_head(struct nouveau_mm *, u8 type, u32 size_max, u32 size_min,
27                      u32 align, struct nouveau_mm_node **);
28 int  nouveau_mm_tail(struct nouveau_mm *, u8 type, u32 size_max, u32 size_min,
29                      u32 align, struct nouveau_mm_node **);
30 void nouveau_mm_free(struct nouveau_mm *, struct nouveau_mm_node **);
31
32 #endif