Lines Matching refs:mem
222 nvbo->bo.mem.num_pages = size >> PAGE_SHIFT; in nouveau_bo_new()
263 nvbo->bo.mem.num_pages < vram_pages / 4) { in set_placement_range()
322 if (bo->mem.mem_type == TTM_PL_VRAM) { in nouveau_bo_pin()
323 struct nvkm_mem *mem = bo->mem.mm_node; in nouveau_bo_pin() local
324 if (!list_is_singular(&mem->regions)) in nouveau_bo_pin()
333 if (!(memtype & (1 << bo->mem.mem_type)) || evict) { in nouveau_bo_pin()
336 1 << bo->mem.mem_type, memtype); in nouveau_bo_pin()
363 switch (bo->mem.mem_type) { in nouveau_bo_pin()
365 drm->gem.vram_available -= bo->mem.size; in nouveau_bo_pin()
368 drm->gem.gart_available -= bo->mem.size; in nouveau_bo_pin()
397 nouveau_bo_placement_set(nvbo, bo->mem.placement, 0); in nouveau_bo_unpin()
401 switch (bo->mem.mem_type) { in nouveau_bo_unpin()
403 drm->gem.vram_available += bo->mem.size; in nouveau_bo_unpin()
406 drm->gem.gart_available += bo->mem.size; in nouveau_bo_unpin()
432 ret = ttm_bo_kmap(&nvbo->bo, 0, nvbo->bo.mem.num_pages, in nouveau_bo_map()
510 _nouveau_bo_mem_index(struct nouveau_bo *nvbo, unsigned index, void *mem, u8 sz) in _nouveau_bo_mem_index() argument
513 u8 *m = mem; in _nouveau_bo_mem_index()
535 u16 *mem = ttm_kmap_obj_virtual(&nvbo->kmap, &is_iomem); in nouveau_bo_wr16() local
537 mem = nouveau_bo_mem_index(nvbo, index, mem); in nouveau_bo_wr16()
540 iowrite16_native(val, (void __force __iomem *)mem); in nouveau_bo_wr16()
542 *mem = val; in nouveau_bo_wr16()
549 u32 *mem = ttm_kmap_obj_virtual(&nvbo->kmap, &is_iomem); in nouveau_bo_rd32() local
551 mem = nouveau_bo_mem_index(nvbo, index, mem); in nouveau_bo_rd32()
554 return ioread32_native((void __force __iomem *)mem); in nouveau_bo_rd32()
556 return *mem; in nouveau_bo_rd32()
563 u32 *mem = ttm_kmap_obj_virtual(&nvbo->kmap, &is_iomem); in nouveau_bo_wr32() local
565 mem = nouveau_bo_mem_index(nvbo, index, mem); in nouveau_bo_wr32()
568 iowrite32_native(val, (void __force __iomem *)mem); in nouveau_bo_wr32()
570 *mem = val; in nouveau_bo_wr32()
662 switch (bo->mem.mem_type) { in nouveau_bo_evict_flags()
976 struct nouveau_channel *chan, struct ttm_mem_reg *mem) in nouveau_bo_mem_ctxdma() argument
978 if (mem->mem_type == TTM_PL_TT) in nouveau_bo_mem_ctxdma()
1031 struct ttm_mem_reg *mem) in nouveau_bo_move_prep() argument
1033 struct nvkm_mem *old_node = bo->mem.mm_node; in nouveau_bo_move_prep()
1034 struct nvkm_mem *new_node = mem->mm_node; in nouveau_bo_move_prep()
1035 u64 size = (u64)mem->num_pages << PAGE_SHIFT; in nouveau_bo_move_prep()
1078 ret = drm->ttm.move(chan, bo, &bo->mem, new_mem); in nouveau_bo_move_m2mf()
1288 struct ttm_mem_reg *old_mem = &bo->mem; in nouveau_bo_move()
1303 BUG_ON(bo->mem.mm_node != NULL); in nouveau_bo_move()
1304 bo->mem = *new_mem; in nouveau_bo_move()
1349 nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem) in nouveau_ttm_io_mem_reserve() argument
1351 struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type]; in nouveau_ttm_io_mem_reserve()
1354 struct nvkm_mem *node = mem->mm_node; in nouveau_ttm_io_mem_reserve()
1357 mem->bus.addr = NULL; in nouveau_ttm_io_mem_reserve()
1358 mem->bus.offset = 0; in nouveau_ttm_io_mem_reserve()
1359 mem->bus.size = mem->num_pages << PAGE_SHIFT; in nouveau_ttm_io_mem_reserve()
1360 mem->bus.base = 0; in nouveau_ttm_io_mem_reserve()
1361 mem->bus.is_iomem = false; in nouveau_ttm_io_mem_reserve()
1364 switch (mem->mem_type) { in nouveau_ttm_io_mem_reserve()
1371 mem->bus.offset = mem->start << PAGE_SHIFT; in nouveau_ttm_io_mem_reserve()
1372 mem->bus.base = drm->agp.base; in nouveau_ttm_io_mem_reserve()
1373 mem->bus.is_iomem = !drm->agp.cma; in nouveau_ttm_io_mem_reserve()
1381 mem->bus.offset = mem->start << PAGE_SHIFT; in nouveau_ttm_io_mem_reserve()
1382 mem->bus.base = device->func->resource_addr(device, 1); in nouveau_ttm_io_mem_reserve()
1383 mem->bus.is_iomem = true; in nouveau_ttm_io_mem_reserve()
1396 mem->bus.offset = node->bar_vma.offset; in nouveau_ttm_io_mem_reserve()
1406 nouveau_ttm_io_mem_free(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem) in nouveau_ttm_io_mem_free() argument
1408 struct nvkm_mem *node = mem->mm_node; in nouveau_ttm_io_mem_free()
1429 if (bo->mem.mem_type != TTM_PL_VRAM) { in nouveau_ttm_fault_reserve_notify()
1434 if (bo->mem.mem_type == TTM_PL_SYSTEM) { in nouveau_ttm_fault_reserve_notify()
1446 bo->mem.start + bo->mem.num_pages < mappable) in nouveau_ttm_fault_reserve_notify()
1632 const u32 size = nvbo->bo.mem.num_pages << PAGE_SHIFT; in nouveau_bo_vma_add()
1640 if ( nvbo->bo.mem.mem_type != TTM_PL_SYSTEM && in nouveau_bo_vma_add()
1641 (nvbo->bo.mem.mem_type == TTM_PL_VRAM || in nouveau_bo_vma_add()
1643 nvkm_vm_map(vma, nvbo->bo.mem.mm_node); in nouveau_bo_vma_add()
1654 if (nvbo->bo.mem.mem_type != TTM_PL_SYSTEM) in nouveau_bo_vma_del()