• Home
  • Raw
  • Download

Lines Matching refs:ttm

47 static int nouveau_ttm_tt_bind(struct ttm_bo_device *bdev, struct ttm_tt *ttm,
218 nvbo->bo.bdev = &drm->ttm.bdev; in nouveau_bo_alloc()
361 mmu->type[drm->ttm.type_vram].type & NVIF_MEM_UNCACHED) in set_placement_list()
592 struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm; in nouveau_bo_sync_for_device()
602 for (i = 0; i < ttm_dma->ttm.num_pages; i++) in nouveau_bo_sync_for_device()
612 struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm; in nouveau_bo_sync_for_cpu()
622 for (i = 0; i < ttm_dma->ttm.num_pages; i++) in nouveau_bo_sync_for_cpu()
632 mutex_lock(&drm->ttm.io_reserve_mutex); in nouveau_bo_add_io_reserve_lru()
633 list_move_tail(&nvbo->io_reserve_lru, &drm->ttm.io_reserve_lru); in nouveau_bo_add_io_reserve_lru()
634 mutex_unlock(&drm->ttm.io_reserve_mutex); in nouveau_bo_add_io_reserve_lru()
642 mutex_lock(&drm->ttm.io_reserve_mutex); in nouveau_bo_del_io_reserve_lru()
644 mutex_unlock(&drm->ttm.io_reserve_mutex); in nouveau_bo_del_io_reserve_lru()
720 nouveau_ttm_tt_bind(struct ttm_bo_device *bdev, struct ttm_tt *ttm, in nouveau_ttm_tt_bind() argument
730 return ttm_agp_bind(ttm, reg); in nouveau_ttm_tt_bind()
732 return nouveau_sgdma_bind(bdev, ttm, reg); in nouveau_ttm_tt_bind()
736 nouveau_ttm_tt_unbind(struct ttm_bo_device *bdev, struct ttm_tt *ttm) in nouveau_ttm_tt_unbind() argument
742 ttm_agp_unbind(ttm); in nouveau_ttm_tt_unbind()
746 nouveau_sgdma_unbind(bdev, ttm); in nouveau_ttm_tt_unbind()
804 struct nouveau_channel *chan = drm->ttm.chan; in nouveau_bo_move_m2mf()
822 ret = drm->ttm.move(chan, bo, &bo->mem, new_reg); in nouveau_bo_move_m2mf()
888 &drm->ttm.copy); in nouveau_bo_move_init()
890 ret = mthd->init(chan, drm->ttm.copy.handle); in nouveau_bo_move_init()
892 nvif_object_dtor(&drm->ttm.copy); in nouveau_bo_move_init()
896 drm->ttm.move = mthd->exec; in nouveau_bo_move_init()
897 drm->ttm.chan = chan; in nouveau_bo_move_init()
930 ret = ttm_tt_populate(bo->bdev, bo->ttm, &ctx); in nouveau_bo_move_flipd()
934 ret = nouveau_ttm_tt_bind(bo->bdev, bo->ttm, &tmp_reg); in nouveau_bo_move_flipd()
1079 if (old_reg->mem_type == TTM_PL_SYSTEM && !bo->ttm) { in nouveau_bo_move()
1085 if (drm->ttm.move) { in nouveau_bo_move()
1156 mutex_lock(&drm->ttm.io_reserve_mutex); in nouveau_ttm_io_mem_reserve()
1230 nvbo = list_first_entry_or_null(&drm->ttm.io_reserve_lru, in nouveau_ttm_io_mem_reserve()
1242 mutex_unlock(&drm->ttm.io_reserve_mutex); in nouveau_ttm_io_mem_reserve()
1251 mutex_lock(&drm->ttm.io_reserve_mutex); in nouveau_ttm_io_mem_free()
1253 mutex_unlock(&drm->ttm.io_reserve_mutex); in nouveau_ttm_io_mem_free()
1305 struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) in nouveau_ttm_tt_populate() argument
1307 struct ttm_dma_tt *ttm_dma = (void *)ttm; in nouveau_ttm_tt_populate()
1310 bool slave = !!(ttm->page_flags & TTM_PAGE_FLAG_SG); in nouveau_ttm_tt_populate()
1312 if (ttm_tt_is_populated(ttm)) in nouveau_ttm_tt_populate()
1315 if (slave && ttm->sg) { in nouveau_ttm_tt_populate()
1317 drm_prime_sg_to_page_addr_arrays(ttm->sg, ttm->pages, in nouveau_ttm_tt_populate()
1318 ttm_dma->dma_address, ttm->num_pages); in nouveau_ttm_tt_populate()
1319 ttm_tt_set_populated(ttm); in nouveau_ttm_tt_populate()
1328 return ttm_pool_populate(ttm, ctx); in nouveau_ttm_tt_populate()
1334 return ttm_dma_populate((void *)ttm, dev, ctx); in nouveau_ttm_tt_populate()
1342 struct ttm_tt *ttm) in nouveau_ttm_tt_unpopulate() argument
1344 struct ttm_dma_tt *ttm_dma = (void *)ttm; in nouveau_ttm_tt_unpopulate()
1347 bool slave = !!(ttm->page_flags & TTM_PAGE_FLAG_SG); in nouveau_ttm_tt_unpopulate()
1357 ttm_pool_unpopulate(ttm); in nouveau_ttm_tt_unpopulate()
1364 ttm_dma_unpopulate((void *)ttm, dev); in nouveau_ttm_tt_unpopulate()
1374 struct ttm_tt *ttm) in nouveau_ttm_tt_destroy() argument
1379 ttm_agp_unbind(ttm); in nouveau_ttm_tt_destroy()
1380 ttm_tt_destroy_common(bdev, ttm); in nouveau_ttm_tt_destroy()
1381 ttm_agp_destroy(ttm); in nouveau_ttm_tt_destroy()
1385 nouveau_sgdma_destroy(bdev, ttm); in nouveau_ttm_tt_destroy()