Cross Reference: nouveau_mm.h
xref: /xsrc/external/mit/MesaLib.old/dist/src/gallium/drivers/nouveau/nouveau_mm.h
  • Home
  • History
  • AnnotateAnnotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /xsrc/external/mit/MesaLib.old/dist/src/gallium/drivers/nouveau/
1848b8605Smrg#ifndef __NOUVEAU_MM_H__
2848b8605Smrg#define __NOUVEAU_MM_H__
3848b8605Smrg
4848b8605Smrgunion nouveau_bo_config;
5848b8605Smrgstruct nouveau_mman;
6848b8605Smrg
7848b8605Smrg/* Since a resource can be migrated, we need to decouple allocations from
8848b8605Smrg * them. This struct is linked with fences for delayed freeing of allocs.
9848b8605Smrg */
10848b8605Smrgstruct nouveau_mm_allocation {
11848b8605Smrg   struct nouveau_mm_allocation *next;
12848b8605Smrg   void *priv;
13848b8605Smrg   uint32_t offset;
14848b8605Smrg};
15848b8605Smrg
16848b8605Smrgextern struct nouveau_mman *
17848b8605Smrgnouveau_mm_create(struct nouveau_device *, uint32_t domain,
18848b8605Smrg                  union nouveau_bo_config *);
19848b8605Smrg
20848b8605Smrgextern void
21848b8605Smrgnouveau_mm_destroy(struct nouveau_mman *);
22848b8605Smrg
23848b8605Smrgextern struct nouveau_mm_allocation *
24848b8605Smrgnouveau_mm_allocate(struct nouveau_mman *, uint32_t size,
25848b8605Smrg                    struct nouveau_bo **, uint32_t *offset);
26848b8605Smrg
27848b8605Smrgextern void
28848b8605Smrgnouveau_mm_free(struct nouveau_mm_allocation *);
29848b8605Smrg
30848b8605Smrgextern void
31848b8605Smrgnouveau_mm_free_work(void *);
32848b8605Smrg
33848b8605Smrg#endif // __NOUVEAU_MM_H__
34

Indexes created Mon Dec 01 18:09:35 GMT 2025