drm/nv50-/disp: move DP link training to core and train from supervisor
[deliverable/linux.git] / drivers / gpu / drm / nouveau / core / include / core / mm.h
CommitLineData
9274f4a9
BS
1#ifndef __NOUVEAU_MM_H__
2#define __NOUVEAU_MM_H__
573a2a37
BS
3
4struct nouveau_mm_node {
5 struct list_head nl_entry;
6 struct list_head fl_entry;
7 struct list_head rl_entry;
8
8b464bfe 9 u8 type;
573a2a37
BS
10 u32 offset;
11 u32 length;
12};
13
14struct nouveau_mm {
15 struct list_head nodes;
16 struct list_head free;
17
18 struct mutex mutex;
19
20 u32 block_size;
a12036ba 21 int heap_nodes;
573a2a37
BS
22};
23
7e0f992b
BS
24static inline bool
25nouveau_mm_initialised(struct nouveau_mm *mm)
26{
27 return mm->block_size != 0;
28}
29
987eec10
BS
30int nouveau_mm_init(struct nouveau_mm *, u32 offset, u32 length, u32 block);
31int nouveau_mm_fini(struct nouveau_mm *);
496734bf
BS
32int nouveau_mm_head(struct nouveau_mm *, u8 type, u32 size_max, u32 size_min,
33 u32 align, struct nouveau_mm_node **);
34int nouveau_mm_tail(struct nouveau_mm *, u8 type, u32 size_max, u32 size_min,
35 u32 align, struct nouveau_mm_node **);
36void nouveau_mm_free(struct nouveau_mm *, struct nouveau_mm_node **);
573a2a37 37
573a2a37 38#endif
This page took 0.168654 seconds and 5 git commands to generate.