From 74e21ac2ccdc5e8f310d536ffe66d22571ece5c5 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 20 Jan 2014 10:17:37 +0000 Subject: [PATCH] drm/i915: Repeat evictions whilst pageflip completions are outstanding Since an old pageflip will keep its scanout buffer object pinned until it has executed its unpin task on the common workqueue, we can clog up our GGTT with stale pinned objects. As we cannot flush those workqueues without dropping our locks, we have to resort to falling back to userspace and telling them to repeat the operation in order to have a chance to run our workqueues and free up the required memory. If we fail, then we are forced to report ENOSPC back to userspace causing the operation to fail and best-case scenario is that it introduces temporary corruption. Signed-off-by: Chris Wilson Reviewed-by: Jon Bloomfield Signed-off-by: Daniel Vetter --- Reading git-format-patch failed