diff options
author | Ben Skeggs | 2015-08-20 06:54:17 +0200 |
---|---|---|
committer | Ben Skeggs | 2015-08-28 04:40:36 +0200 |
commit | d8e83994aaf6749b7124a219f5b46bd1329e2a08 (patch) | |
tree | 7da43672ce2860ff204fbe34f14f37ba49bbd246 /drivers/gpu/drm/nouveau/nouveau_bo.c | |
parent | drm/nouveau/mmu: protect each vm with its own mutex (diff) | |
download | kernel-qcow2-linux-d8e83994aaf6749b7124a219f5b46bd1329e2a08.tar.gz kernel-qcow2-linux-d8e83994aaf6749b7124a219f5b46bd1329e2a08.tar.xz kernel-qcow2-linux-d8e83994aaf6749b7124a219f5b46bd1329e2a08.zip |
drm/nouveau/imem: improve management of instance memory
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_bo.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_bo.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c index 496c00d585cd..982c0ed163eb 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bo.c +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -1388,12 +1388,16 @@ nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem) mem->bus.is_iomem = true; if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) { struct nvkm_bar *bar = nvxx_bar(&drm->device); + int page_shift = 12; + if (drm->device.info.family >= NV_DEVICE_INFO_V0_FERMI) + page_shift = node->page_shift; - ret = bar->umap(bar, node, NV_MEM_ACCESS_RW, + ret = bar->umap(bar, node->size << 12, page_shift, &node->bar_vma); if (ret) return ret; + nvkm_vm_map(&node->bar_vma, node); mem->bus.offset = node->bar_vma.offset; } break; |