Эх сурвалжийг харах

drm/nv50: fix vram ptes on IGPs to point at stolen system memory

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs 15 жил өмнө
parent
commit
6c42966768

+ 7 - 1
drivers/gpu/drm/nouveau/nouveau_mem.c

@@ -291,7 +291,13 @@ nv50_mem_vm_bind_linear(struct drm_device *dev, uint64_t virt, uint32_t size,
 
 	virt = ((virt - dev_priv->vm_vram_base) >> 16) << 1;
 	size = (size >> 16) << 1;
-	phys |= ((uint64_t)flags << 32) | 1;
+
+	phys |= ((uint64_t)flags << 32);
+	phys |= 1;
+	if (dev_priv->vram_sys_base) {
+		phys += dev_priv->vram_sys_base;
+		phys |= 0x30;
+	}
 
 	dev_priv->engine.instmem.prepare_access(dev, true);
 	while (size) {