Skip to contentSkip to conversation

Patch "drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas" has been added to the 4.8-stable tree

PATCH [email protected] 1 participant 1 message Jan 6, 2017

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas

to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
drm-nouveau-ttm-wait-for-bo-fence-to-signal-before-unmapping-vmas.patch
and it can be found in the queue-4.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 10dcab3e7f477bffee88d518aad57d06777cfdf4 Mon Sep 17 00:00:00 2001

From: Ben Skeggs <[email protected]>
Date: Mon, 12 Dec 2016 17:52:45 +1000
Subject: drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas

From: Ben Skeggs <[email protected]>

commit 10dcab3e7f477bffee88d518aad57d06777cfdf4 upstream.

TTM was changed a while back to allow for pipelining of buffer moves, and part of this was the removal of waiting for a BO to idle before calling move(), placing the responsibility on the driver to do this if required.

That's all well and good, except, we make use of move_notify() to handle mapping/unmapping from the GPU VMM as move() isn't called on all paths.

This commit adds a wait before unmapping from a VMM in move_notify(), to prevent GPU page faults where a buffer is still being accessed.

---
 drivers/gpu/drm/nouveau/nouveau_bo.c |    1 +
 1 file changed, 1 insertion(+)
drivers/gpu/drm/nouveau/nouveau_bo.c +1 -0
@@ -1209,6 +1209,7 @@ nouveau_bo_move_ntfy(struct ttm_buffer_o
 			       nvbo->page_shift != vma->vm->mmu->lpg_shift)) {
 			nvkm_vm_map(vma, new_mem->mm_node);
 		} else {
+			WARN_ON(ttm_bo_wait(bo, false, false));
 			nvkm_vm_unmap(vma);
 		}
 	}

Patches currently in stable-queue which might be from [email protected] are

queue-4.8/drm-nouveau-ttm-wait-for-bo-fence-to-signal-before-unmapping-vmas.patch queue-4.8/drm-nouveau-bios-require-checksum-to-match-for-fast-acpi-shadow-method.patch queue-4.8/drm-nouveau-gr-fallback-to-legacy-paths-during-firmware-lookup.patch queue-4.8/drm-nouveau-kms-lvds-panel-strap-moved-again-on-maxwell.patch queue-4.8/drm-nouveau-ltc-protect-clearing-of-comptags-with-mutex.patch queue-4.8/drm-nouveau-fifo-gf100-protect-channel-preempt-with-subdev-mutex.patch queue-4.8/drm-nouveau-i2c-gk110b-gm10x-use-the-correct-implementation.patch