浏览代码

drm/nouveau/fb/ram: use new interfaces for vmm operations

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs 8 年之前
父节点
当前提交
6f4dc18c16
共有 1 个文件被更改,包括 14 次插入4 次删除
  1. 14 4
      drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.c

+ 14 - 4
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.c

@@ -39,12 +39,22 @@ nvkm_vram_map(struct nvkm_memory *memory, u64 offset, struct nvkm_vmm *vmm,
 	      struct nvkm_vma *vma, void *argv, u32 argc)
 {
 	struct nvkm_vram *vram = nvkm_vram(memory);
-	struct nvkm_mem mem = {
-		.mem = vram->mn,
+	struct nvkm_vmm_map map = {
 		.memory = &vram->memory,
+		.offset = offset,
+		.mem = vram->mn,
 	};
-	nvkm_vm_map_at(vma, offset, &mem);
-	return 0;
+
+	if (vma->vm) {
+		struct nvkm_mem mem = {
+			.mem = vram->mn,
+			.memory = &vram->memory,
+		};
+		nvkm_vm_map_at(vma, offset, &mem);
+		return 0;
+	}
+
+	return nvkm_vmm_map(vmm, vma, argv, argc, &map);
 }
 
 static u64