Lines Matching refs:ttm
28 #include <drm/ttm/ttm_tt.h>
406 if (WARN(amdgpu_ttm_tt_get_usermm(bo->tbo.ttm),
523 struct ttm_tt *src_ttm = mem->bo->tbo.ttm;
524 struct ttm_tt *ttm = bo->tbo.ttm;
527 if (WARN_ON(ttm->num_pages != src_ttm->num_pages))
530 ttm->sg = kmalloc(sizeof(*ttm->sg), GFP_KERNEL);
531 if (unlikely(!ttm->sg))
535 ret = sg_alloc_table_from_pages(ttm->sg, src_ttm->pages,
536 ttm->num_pages, 0,
537 (u64)ttm->num_pages << PAGE_SHIFT,
542 ret = dma_map_sgtable(adev->dev, ttm->sg, direction, 0);
554 dma_unmap_sgtable(adev->dev, ttm->sg, direction, 0);
557 sg_free_table(ttm->sg);
559 kfree(ttm->sg);
560 ttm->sg = NULL;
613 struct ttm_tt *ttm = bo->tbo.ttm;
621 if (unlikely(ttm->sg)) {
638 ttm->sg = create_sg_table(dma_addr, mem->bo->tbo.sg->sgl->length);
639 if (unlikely(!ttm->sg)) {
652 sg_free_table(ttm->sg);
653 kfree(ttm->sg);
654 ttm->sg = NULL;
690 struct ttm_tt *ttm = bo->tbo.ttm;
692 if (unlikely(!ttm->sg))
698 dma_unmap_sgtable(adev->dev, ttm->sg, direction, 0);
699 sg_free_table(ttm->sg);
700 kfree(ttm->sg);
701 ttm->sg = NULL;
736 struct ttm_tt *ttm = bo->tbo.ttm;
739 if (unlikely(!ttm->sg)) {
749 dma_unmap_resource(adev->dev, ttm->sg->sgl->dma_address,
750 ttm->sg->sgl->length, dir, DMA_ATTR_SKIP_CPU_SYNC);
751 sg_free_table(ttm->sg);
752 kfree(ttm->sg);
753 ttm->sg = NULL;
872 (amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm) && reuse_dmamap(adev, bo_adev)) ||
886 } else if (amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm)) {
1039 ret = amdgpu_ttm_tt_get_user_pages(bo, bo->tbo.ttm->pages, &range);
1057 amdgpu_ttm_tt_get_user_pages_done(bo->tbo.ttm, range);
1118 pr_err("Failed to reserve buffers in ttm.\n");
1168 pr_err("Failed to reserve buffers in ttm.\n");
1747 bo->tbo.ttm->sg = sg;
1847 if (amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm)) {
1850 amdgpu_ttm_tt_discard_user_pages(mem->bo->tbo.ttm, mem->range);
1951 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm)) {
1982 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) &&
1991 !amdgpu_ttm_tt_get_usermm(bo->tbo.ttm)) {
2029 if (!amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) && !bo->tbo.pin_count)
2062 if (entry->bo_va->base.bo->tbo.ttm &&
2063 !entry->bo_va->base.bo->tbo.ttm->sg)
2125 !amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm) &&
2221 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm)) {
2460 amdgpu_ttm_tt_discard_user_pages(bo->tbo.ttm, mem->range);
2485 ret = amdgpu_ttm_tt_get_user_pages(bo, bo->tbo.ttm->pages,
2579 if (bo->tbo.ttm->pages[0]) {
2642 mem->bo->tbo.ttm, mem->range);