Lines Matching full:mem

39 	ttm_bo_mem_put(bo, &bo->mem);  in ttm_bo_free_old_node()
47 struct ttm_mem_reg *old_mem = &bo->mem; in ttm_bo_move_ttm()
115 struct ttm_mem_reg *mem) in ttm_mem_io_reserve() argument
117 struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type]; in ttm_mem_io_reserve()
123 return bdev->driver->io_mem_reserve(bdev, mem); in ttm_mem_io_reserve()
126 mem->bus.io_reserved_count++ == 0) { in ttm_mem_io_reserve()
128 ret = bdev->driver->io_mem_reserve(bdev, mem); in ttm_mem_io_reserve()
139 struct ttm_mem_reg *mem) in ttm_mem_io_free() argument
141 struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type]; in ttm_mem_io_free()
147 --mem->bus.io_reserved_count == 0 && in ttm_mem_io_free()
149 bdev->driver->io_mem_free(bdev, mem); in ttm_mem_io_free()
155 struct ttm_mem_reg *mem = &bo->mem; in ttm_mem_io_reserve_vm() local
158 if (!mem->bus.io_reserved_vm) { in ttm_mem_io_reserve_vm()
160 &bo->bdev->man[mem->mem_type]; in ttm_mem_io_reserve_vm()
162 ret = ttm_mem_io_reserve(bo->bdev, mem); in ttm_mem_io_reserve_vm()
165 mem->bus.io_reserved_vm = true; in ttm_mem_io_reserve_vm()
175 struct ttm_mem_reg *mem = &bo->mem; in ttm_mem_io_free_vm() local
177 if (mem->bus.io_reserved_vm) { in ttm_mem_io_free_vm()
178 mem->bus.io_reserved_vm = false; in ttm_mem_io_free_vm()
180 ttm_mem_io_free(bo->bdev, mem); in ttm_mem_io_free_vm()
185 int ttm_mem_reg_ioremap(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem, in ttm_mem_reg_ioremap() argument
188 struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type]; in ttm_mem_reg_ioremap()
194 ret = ttm_mem_io_reserve(bdev, mem); in ttm_mem_reg_ioremap()
196 if (ret || !mem->bus.is_iomem) in ttm_mem_reg_ioremap()
199 if (mem->bus.addr) { in ttm_mem_reg_ioremap()
200 addr = mem->bus.addr; in ttm_mem_reg_ioremap()
202 addr = pmap_mapdev_attr(mem->bus.base + mem->bus.offset, in ttm_mem_reg_ioremap()
203 mem->bus.size, (mem->placement & TTM_PL_FLAG_WC) ? in ttm_mem_reg_ioremap()
207 ttm_mem_io_free(bdev, mem); in ttm_mem_reg_ioremap()
217 void ttm_mem_reg_iounmap(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem, in ttm_mem_reg_iounmap() argument
222 man = &bdev->man[mem->mem_type]; in ttm_mem_reg_iounmap()
224 if (virtual && mem->bus.addr == NULL) in ttm_mem_reg_iounmap()
225 pmap_unmapdev(virtual, mem->bus.size); in ttm_mem_reg_iounmap()
227 ttm_mem_io_free(bdev, mem); in ttm_mem_reg_iounmap()
298 struct ttm_mem_reg *old_mem = &bo->mem; in ttm_bo_move_memcpy()
460 struct ttm_mem_reg *mem = &bo->mem; in ttm_bo_ioremap() local
462 if (bo->mem.bus.addr) { in ttm_bo_ioremap()
464 map->virtual = (void *)(((u8 *)bo->mem.bus.addr) + offset); in ttm_bo_ioremap()
467 map->virtual = pmap_mapdev_attr(bo->mem.bus.base + in ttm_bo_ioremap()
468 bo->mem.bus.offset + offset, size, in ttm_bo_ioremap()
469 (mem->placement & TTM_PL_FLAG_WC) ? in ttm_bo_ioremap()
481 struct ttm_mem_reg *mem = &bo->mem; in ttm_bo_kmap_ttm() local
494 if (num_pages == 1 && (mem->placement & TTM_PL_FLAG_CACHED)) { in ttm_bo_kmap_ttm()
509 prot = (mem->placement & TTM_PL_FLAG_CACHED) ? in ttm_bo_kmap_ttm()
510 VM_MEMATTR_DEFAULT : ttm_io_prot(mem->placement); in ttm_bo_kmap_ttm()
532 &bo->bdev->man[bo->mem.mem_type]; in ttm_bo_kmap()
548 ret = ttm_mem_io_reserve(bo->bdev, &bo->mem); in ttm_bo_kmap()
552 if (!bo->mem.bus.is_iomem) { in ttm_bo_kmap()
565 &bo->bdev->man[bo->mem.mem_type]; in ttm_bo_kunmap()
587 ttm_mem_io_free(map->bo->bdev, &map->bo->mem); in ttm_bo_kunmap()
603 struct ttm_mem_reg *old_mem = &bo->mem; in ttm_bo_move_accel_cleanup()