Lines Matching refs:drm
38 struct nouveau_drm *drm = nouveau_bdev(man->bdev); in nouveau_vram_manager_init() local
39 struct nvkm_fb *fb = nvxx_fb(&drm->device); in nouveau_vram_manager_init()
69 struct nouveau_drm *drm = nouveau_bdev(man->bdev); in nouveau_vram_manager_del() local
70 struct nvkm_ram *ram = nvxx_fb(&drm->device)->ram; in nouveau_vram_manager_del()
81 struct nouveau_drm *drm = nouveau_bdev(man->bdev); in nouveau_vram_manager_new() local
82 struct nvkm_ram *ram = nvxx_fb(&drm->device)->ram; in nouveau_vram_manager_new()
88 if (drm->device.info.ram_size == 0) in nouveau_vram_manager_new()
143 struct nouveau_drm *drm = nouveau_bdev(bo->bdev); in nouveau_gart_manager_new() local
153 switch (drm->device.info.family) { in nouveau_gart_manager_new()
161 if (drm->device.info.chipset != 0x50) in nouveau_gart_manager_new()
170 NV_WARN(drm, "%s: unhandled family type %x\n", __func__, in nouveau_gart_manager_new()
171 drm->device.info.family); in nouveau_gart_manager_new()
198 struct nouveau_drm *drm = nouveau_bdev(man->bdev); in nv04_gart_manager_init() local
199 struct nvkm_mmu *mmu = nvxx_mmu(&drm->device); in nv04_gart_manager_init()
270 struct nouveau_drm *drm = nouveau_drm(file_priv->minor->dev); in nouveau_ttm_mmap() local
275 return ttm_bo_mmap(filp, vma, &drm->ttm.bdev); in nouveau_ttm_mmap()
291 nouveau_ttm_global_init(struct nouveau_drm *drm) in nouveau_ttm_global_init() argument
296 global_ref = &drm->ttm.mem_global_ref; in nouveau_ttm_global_init()
305 drm->ttm.mem_global_ref.release = NULL; in nouveau_ttm_global_init()
309 drm->ttm.bo_global_ref.mem_glob = global_ref->object; in nouveau_ttm_global_init()
310 global_ref = &drm->ttm.bo_global_ref.ref; in nouveau_ttm_global_init()
319 drm_global_item_unref(&drm->ttm.mem_global_ref); in nouveau_ttm_global_init()
320 drm->ttm.mem_global_ref.release = NULL; in nouveau_ttm_global_init()
328 nouveau_ttm_global_release(struct nouveau_drm *drm) in nouveau_ttm_global_release() argument
330 if (drm->ttm.mem_global_ref.release == NULL) in nouveau_ttm_global_release()
333 drm_global_item_unref(&drm->ttm.bo_global_ref.ref); in nouveau_ttm_global_release()
334 drm_global_item_unref(&drm->ttm.mem_global_ref); in nouveau_ttm_global_release()
335 drm->ttm.mem_global_ref.release = NULL; in nouveau_ttm_global_release()
339 nouveau_ttm_init(struct nouveau_drm *drm) in nouveau_ttm_init() argument
341 struct nvkm_device *device = nvxx_device(&drm->device); in nouveau_ttm_init()
343 struct drm_device *dev = drm->dev; in nouveau_ttm_init()
348 drm->agp.bridge = pci->agp.bridge; in nouveau_ttm_init()
349 drm->agp.base = pci->agp.base; in nouveau_ttm_init()
350 drm->agp.size = pci->agp.size; in nouveau_ttm_init()
351 drm->agp.cma = pci->agp.cma; in nouveau_ttm_init()
354 bits = nvxx_mmu(&drm->device)->dma_bits; in nouveau_ttm_init()
355 if (nvxx_device(&drm->device)->func->pci) { in nouveau_ttm_init()
356 if (drm->agp.bridge) in nouveau_ttm_init()
382 ret = nouveau_ttm_global_init(drm); in nouveau_ttm_init()
386 ret = ttm_bo_device_init(&drm->ttm.bdev, in nouveau_ttm_init()
387 drm->ttm.bo_global_ref.ref.object, in nouveau_ttm_init()
393 NV_ERROR(drm, "error initialising bo driver, %d\n", ret); in nouveau_ttm_init()
398 drm->gem.vram_available = drm->device.info.ram_user; in nouveau_ttm_init()
400 ret = ttm_bo_init_mm(&drm->ttm.bdev, TTM_PL_VRAM, in nouveau_ttm_init()
401 drm->gem.vram_available >> PAGE_SHIFT); in nouveau_ttm_init()
403 NV_ERROR(drm, "VRAM mm init failed, %d\n", ret); in nouveau_ttm_init()
407 drm->ttm.mtrr = arch_phys_wc_add(device->func->resource_addr(device, 1), in nouveau_ttm_init()
411 if (!drm->agp.bridge) { in nouveau_ttm_init()
412 drm->gem.gart_available = nvxx_mmu(&drm->device)->limit; in nouveau_ttm_init()
414 drm->gem.gart_available = drm->agp.size; in nouveau_ttm_init()
417 ret = ttm_bo_init_mm(&drm->ttm.bdev, TTM_PL_TT, in nouveau_ttm_init()
418 drm->gem.gart_available >> PAGE_SHIFT); in nouveau_ttm_init()
420 NV_ERROR(drm, "GART mm init failed, %d\n", ret); in nouveau_ttm_init()
424 NV_INFO(drm, "VRAM: %d MiB\n", (u32)(drm->gem.vram_available >> 20)); in nouveau_ttm_init()
425 NV_INFO(drm, "GART: %d MiB\n", (u32)(drm->gem.gart_available >> 20)); in nouveau_ttm_init()
430 nouveau_ttm_fini(struct nouveau_drm *drm) in nouveau_ttm_fini() argument
432 ttm_bo_clean_mm(&drm->ttm.bdev, TTM_PL_VRAM); in nouveau_ttm_fini()
433 ttm_bo_clean_mm(&drm->ttm.bdev, TTM_PL_TT); in nouveau_ttm_fini()
435 ttm_bo_device_release(&drm->ttm.bdev); in nouveau_ttm_fini()
437 nouveau_ttm_global_release(drm); in nouveau_ttm_fini()
439 arch_phys_wc_del(drm->ttm.mtrr); in nouveau_ttm_fini()
440 drm->ttm.mtrr = 0; in nouveau_ttm_fini()