Browse Source

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

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs 8 năm trước cách đây
mục cha
commit
6f4dc18c16
1 tập tin đã thay đổi với 14 bổ sung4 xóa
  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