Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. #ifndef __NOUVEAU_MM_H__
  2. #define __NOUVEAU_MM_H__
  3.  
  4. union nouveau_bo_config;
  5. struct nouveau_mman;
  6.  
  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.
  9.  */
  10. struct nouveau_mm_allocation {
  11.    struct nouveau_mm_allocation *next;
  12.    void *priv;
  13.    uint32_t offset;
  14. };
  15.  
  16. extern struct nouveau_mman *
  17. nouveau_mm_create(struct nouveau_device *, uint32_t domain,
  18.                   union nouveau_bo_config *);
  19.  
  20. extern void
  21. nouveau_mm_destroy(struct nouveau_mman *);
  22.  
  23. extern struct nouveau_mm_allocation *
  24. nouveau_mm_allocate(struct nouveau_mman *, uint32_t size,
  25.                     struct nouveau_bo **, uint32_t *offset);
  26.  
  27. extern void
  28. nouveau_mm_free(struct nouveau_mm_allocation *);
  29.  
  30. extern void
  31. nouveau_mm_free_work(void *);
  32.  
  33. #endif // __NOUVEAU_MM_H__
  34.