linux/drivers/gpu/drm/nouveau/core/include/core/mm.h
<<
>>
Prefs
   1#ifndef __NOUVEAU_MM_H__
   2#define __NOUVEAU_MM_H__
   3
   4struct 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
  14struct nouveau_mm {
  15        struct list_head nodes;
  16        struct list_head free;
  17
  18        u32 block_size;
  19        int heap_nodes;
  20};
  21
  22static inline bool
  23nouveau_mm_initialised(struct nouveau_mm *mm)
  24{
  25        return mm->block_size != 0;
  26}
  27
  28int  nouveau_mm_init(struct nouveau_mm *, u32 offset, u32 length, u32 block);
  29int  nouveau_mm_fini(struct nouveau_mm *);
  30int  nouveau_mm_head(struct nouveau_mm *, u8 type, u32 size_max, u32 size_min,
  31                     u32 align, struct nouveau_mm_node **);
  32int  nouveau_mm_tail(struct nouveau_mm *, u8 type, u32 size_max, u32 size_min,
  33                     u32 align, struct nouveau_mm_node **);
  34void nouveau_mm_free(struct nouveau_mm *, struct nouveau_mm_node **);
  35
  36#endif
  37