[RFC 3/8] drm/fence: allow fence waiting to be interrupted by userspace

Gustavo Padovan gustavo at padovan.org
Fri Apr 15 01:29:36 UTC 2016


From: Gustavo Padovan <gustavo.padovan at collabora.co.uk>

If userspace is running an synchronously atomic commit and interrupts the
atomic operation during fence_wait() it will hang until the timer expires,
so here we change the wait to be interruptible so it stop immediately when
userspace wants to quit.

Signed-off-by: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
---
 drivers/gpu/drm/drm_atomic_helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 7bf678e..f85ef8c 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -1007,7 +1007,7 @@ void drm_atomic_helper_wait_for_fences(struct drm_device *dev,
 
 		WARN_ON(!plane->state->fb);
 
-		fence_wait(plane->state->fence, false);
+		fence_wait(plane->state->fence, true);
 		fence_put(plane->state->fence);
 		plane->state->fence = NULL;
 	}
-- 
2.5.5



More information about the dri-devel mailing list