Lines Matching refs:mem
44 ttm_bo_mem_put(bo, &bo->mem); in ttm_bo_free_old_node()
52 struct ttm_mem_reg *old_mem = &bo->mem; in ttm_bo_move_ttm()
120 struct ttm_mem_reg *mem) in ttm_mem_io_reserve() argument
122 struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type]; in ttm_mem_io_reserve()
128 return bdev->driver->io_mem_reserve(bdev, mem); in ttm_mem_io_reserve()
131 mem->bus.io_reserved_count++ == 0) { in ttm_mem_io_reserve()
133 ret = bdev->driver->io_mem_reserve(bdev, mem); in ttm_mem_io_reserve()
145 struct ttm_mem_reg *mem) in ttm_mem_io_free() argument
147 struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type]; in ttm_mem_io_free()
153 --mem->bus.io_reserved_count == 0 && in ttm_mem_io_free()
155 bdev->driver->io_mem_free(bdev, mem); in ttm_mem_io_free()
162 struct ttm_mem_reg *mem = &bo->mem; in ttm_mem_io_reserve_vm() local
165 if (!mem->bus.io_reserved_vm) { in ttm_mem_io_reserve_vm()
167 &bo->bdev->man[mem->mem_type]; in ttm_mem_io_reserve_vm()
169 ret = ttm_mem_io_reserve(bo->bdev, mem); in ttm_mem_io_reserve_vm()
172 mem->bus.io_reserved_vm = true; in ttm_mem_io_reserve_vm()
182 struct ttm_mem_reg *mem = &bo->mem; in ttm_mem_io_free_vm() local
184 if (mem->bus.io_reserved_vm) { in ttm_mem_io_free_vm()
185 mem->bus.io_reserved_vm = false; in ttm_mem_io_free_vm()
187 ttm_mem_io_free(bo->bdev, mem); in ttm_mem_io_free_vm()
191 static int ttm_mem_reg_ioremap(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem, in ttm_mem_reg_ioremap() argument
194 struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type]; in ttm_mem_reg_ioremap()
200 ret = ttm_mem_io_reserve(bdev, mem); in ttm_mem_reg_ioremap()
202 if (ret || !mem->bus.is_iomem) in ttm_mem_reg_ioremap()
205 if (mem->bus.addr) { in ttm_mem_reg_ioremap()
206 addr = mem->bus.addr; in ttm_mem_reg_ioremap()
208 if (mem->placement & TTM_PL_FLAG_WC) in ttm_mem_reg_ioremap()
209 addr = ioremap_wc(mem->bus.base + mem->bus.offset, mem->bus.size); in ttm_mem_reg_ioremap()
211 addr = ioremap_nocache(mem->bus.base + mem->bus.offset, mem->bus.size); in ttm_mem_reg_ioremap()
214 ttm_mem_io_free(bdev, mem); in ttm_mem_reg_ioremap()
223 static void ttm_mem_reg_iounmap(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem, in ttm_mem_reg_iounmap() argument
228 man = &bdev->man[mem->mem_type]; in ttm_mem_reg_iounmap()
230 if (virtual && mem->bus.addr == NULL) in ttm_mem_reg_iounmap()
233 ttm_mem_io_free(bdev, mem); in ttm_mem_reg_iounmap()
330 struct ttm_mem_reg *old_mem = &bo->mem; in ttm_bo_move_memcpy()
512 struct ttm_mem_reg *mem = &bo->mem; in ttm_bo_ioremap() local
514 if (bo->mem.bus.addr) { in ttm_bo_ioremap()
516 map->virtual = (void *)(((u8 *)bo->mem.bus.addr) + offset); in ttm_bo_ioremap()
519 if (mem->placement & TTM_PL_FLAG_WC) in ttm_bo_ioremap()
520 map->virtual = ioremap_wc(bo->mem.bus.base + bo->mem.bus.offset + offset, in ttm_bo_ioremap()
523 map->virtual = ioremap_nocache(bo->mem.bus.base + bo->mem.bus.offset + offset, in ttm_bo_ioremap()
534 struct ttm_mem_reg *mem = &bo->mem; pgprot_t prot; in ttm_bo_kmap_ttm() local
546 if (num_pages == 1 && (mem->placement & TTM_PL_FLAG_CACHED)) { in ttm_bo_kmap_ttm()
560 prot = ttm_io_prot(mem->placement, PAGE_KERNEL); in ttm_bo_kmap_ttm()
573 &bo->bdev->man[bo->mem.mem_type]; in ttm_bo_kmap()
589 ret = ttm_mem_io_reserve(bo->bdev, &bo->mem); in ttm_bo_kmap()
593 if (!bo->mem.bus.is_iomem) { in ttm_bo_kmap()
607 &bo->bdev->man[bo->mem.mem_type]; in ttm_bo_kunmap()
627 ttm_mem_io_free(map->bo->bdev, &map->bo->mem); in ttm_bo_kunmap()
642 struct ttm_mem_reg *old_mem = &bo->mem; in ttm_bo_move_accel_cleanup()