From: Ben Skeggs <bskeggs@redhat.com>
Date: Wed, 1 Nov 2017 03:56:19 +1000
Subject: drm/nouveau/fb/ram: use new interfaces for vmm operations
Git-commit: 6f4dc18c166cd36d8e9dfd130874060065bedd1c
Patch-mainline: v4.15-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.c
@@ -39,12 +39,22 @@ nvkm_vram_map(struct nvkm_memory *memory
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