nouveau_ttm.h 967 B

123456789101112131415161718192021222324252627
  1. /* SPDX-License-Identifier: MIT */
  2. #ifndef __NOUVEAU_TTM_H__
  3. #define __NOUVEAU_TTM_H__
  4. static inline struct nouveau_drm *
  5. nouveau_bdev(struct ttm_device *bd)
  6. {
  7. return container_of(bd, struct nouveau_drm, ttm.bdev);
  8. }
  9. extern const struct ttm_resource_manager_func nouveau_vram_manager;
  10. extern const struct ttm_resource_manager_func nouveau_gart_manager;
  11. extern const struct ttm_resource_manager_func nv04_gart_manager;
  12. struct ttm_tt *nouveau_sgdma_create_ttm(struct ttm_buffer_object *bo,
  13. u32 page_flags);
  14. int nouveau_ttm_init(struct nouveau_drm *drm);
  15. void nouveau_ttm_fini(struct nouveau_drm *drm);
  16. int nouveau_ttm_global_init(struct nouveau_drm *);
  17. void nouveau_ttm_global_release(struct nouveau_drm *);
  18. int nouveau_sgdma_bind(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_resource *reg);
  19. void nouveau_sgdma_unbind(struct ttm_device *bdev, struct ttm_tt *ttm);
  20. void nouveau_sgdma_destroy(struct ttm_device *bdev, struct ttm_tt *ttm);
  21. #endif