Home | History | Annotate | Download | only in radeon

Lines Matching defs:gtt

166 			 * first, but only set GTT as busy placement, so this
167 * BO will be evicted to GTT rather than causing other
519 struct radeon_ttm_tt *gtt = (void *)ttm;
525 int write = !(gtt->userflags & RADEON_GEM_USERPTR_READONLY);
532 if (curproc->p_vmspace != gtt->usermm)
535 if (current->mm != gtt->usermm)
539 if (gtt->userflags & RADEON_GEM_USERPTR_ANONONLY) {
542 unsigned long end = gtt->userptr + ttm->num_pages * PAGE_SIZE;
548 vm_map_lock_read(&gtt->usermm->vm_map);
549 ok = uvm_map_lookup_entry(&gtt->usermm->vm_map,
550 (vaddr_t)gtt->userptr, &entry);
553 vm_map_unlock_read(&gtt->usermm->vm_map);
558 vma = find_vma(gtt->usermm, gtt->userptr);
566 .iov_base = (void *)(vaddr_t)gtt->userptr,
575 .uio_vmspace = gtt->usermm,
582 r = -uvm_vslock(gtt->usermm, (void *)(vaddr_t)gtt->userptr,
590 r = -bus_dmamap_load_uio(rdev->ddev->dmat, gtt->ttm.dma_address, &uio,
597 vaddr_t va = (vaddr_t)gtt->userptr + (i << PAGE_SHIFT);
601 if (!pmap_extract(gtt->usermm->vm_map.pmap, va, &pa)) {
614 bus_dmamap_unload(rdev->ddev->dmat, gtt->ttm.dma_address);
615 fail1: uvm_vsunlock(gtt->usermm, (void *)(vaddr_t)gtt->userptr,
621 uint64_t userptr = gtt->userptr + pinned * PAGE_SIZE;
645 gtt->ttm.dma_address, ttm->num_pages);
662 struct radeon_ttm_tt *gtt = (void *)ttm;
664 bus_dmamap_unload(rdev->ddev->dmat, gtt->ttm.dma_address);
665 uvm_vsunlock(gtt->usermm, (void *)(vaddr_t)gtt->userptr,
669 struct radeon_ttm_tt *gtt = (void *)ttm;
672 int write = !(gtt->userflags & RADEON_GEM_USERPTR_READONLY);
685 if (!(gtt->userflags & RADEON_GEM_USERPTR_READONLY))
699 struct radeon_ttm_tt *gtt = (void*)ttm;
704 if (gtt->userptr) {
709 gtt->offset = (unsigned long)(bo_mem->start << PAGE_SHIFT);
716 r = radeon_gart_bind(gtt->rdev, gtt->offset, ttm->num_pages,
717 ttm->pages, gtt->ttm.dma_address, flags);
720 ttm->num_pages, (unsigned)gtt->offset);
728 struct radeon_ttm_tt *gtt = (void *)ttm;
730 radeon_gart_unbind(gtt->rdev, gtt->offset, ttm->num_pages);
732 if (gtt->userptr)
740 struct radeon_ttm_tt *gtt = (void *)ttm;
742 ttm_dma_tt_fini(&gtt->ttm);
743 kfree(gtt);
756 struct radeon_ttm_tt *gtt;
766 gtt = kzalloc(sizeof(struct radeon_ttm_tt), GFP_KERNEL);
767 if (gtt == NULL) {
770 gtt->ttm.ttm.func = &radeon_backend_func;
771 gtt->rdev = rdev;
772 if (ttm_dma_tt_init(&gtt->ttm, bo, page_flags)) {
773 kfree(gtt);
776 return &gtt->ttm.ttm;
789 struct radeon_ttm_tt *gtt = radeon_ttm_tt_to_gtt(ttm);
795 if (gtt && gtt->userptr) {
812 gtt->ttm.dma_address, ttm->sg);
817 gtt->ttm.dma_address, ttm->num_pages);
834 return ttm_bus_dma_populate(&gtt->ttm);
839 return ttm_dma_populate(&gtt->ttm, rdev->dev, ctx);
843 return ttm_populate_and_map_pages(rdev->dev, &gtt->ttm, ctx);
852 struct radeon_ttm_tt *gtt = radeon_ttm_tt_to_gtt(ttm);
857 bus_dmamap_unload(ttm->bdev->dmat, gtt->ttm.dma_address);
860 if (gtt && gtt->userptr) {
880 ttm_bus_dma_unpopulate(&gtt->ttm);
886 ttm_dma_unpopulate(&gtt->ttm, rdev->dev);
891 ttm_unmap_and_unpopulate_pages(rdev->dev, &gtt->ttm);
898 struct radeon_ttm_tt *gtt = container_of(ttm, struct radeon_ttm_tt,
900 struct ttm_dma_tt *ttm_dma = &gtt->ttm;
918 struct radeon_ttm_tt *gtt = radeon_ttm_tt_to_gtt(ttm);
920 if (gtt == NULL)
923 gtt->userptr = addr;
925 gtt->usermm = curproc->p_vmspace;
927 gtt->usermm = current->mm;
929 gtt->userflags = flags;
935 struct radeon_ttm_tt *gtt = radeon_ttm_tt_to_gtt(ttm);
937 if (gtt == NULL)
940 return !!gtt->userptr;
945 struct radeon_ttm_tt *gtt = radeon_ttm_tt_to_gtt(ttm);
947 if (gtt == NULL)
950 return !!(gtt->userflags & RADEON_GEM_USERPTR_READONLY);
1022 DRM_ERROR("Failed initializing GTT heap.\n");
1025 DRM_INFO("radeon: %uM of GTT memory ready.\n",
1304 rdev->mman.gtt = debugfs_create_file("radeon_gtt", S_IFREG | S_IRUGO,
1328 debugfs_remove(rdev->mman.gtt);
1329 rdev->mman.gtt = NULL;