Skip to contentSkip to conversation

Patch "drm/i915: Pass timeout==0 on to i915_gem_object_wait_fence()" has been added to the 4.10-stable tree

PATCH [email protected] 1 participant 1 message Mar 12, 2017

Subsystems (3)
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/i915: Pass timeout==0 on to i915_gem_object_wait_fence()

to the 4.10-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-i915-pass-timeout-0-on-to-i915_gem_object_wait_fence.patch

and it can be found in the queue-4.10 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 636deb5b2277cf57bb0f5e00fc9687de9a96061e Mon Sep 17 00:00:00 2001

From: Chris Wilson <[email protected]>
Date: Sun, 12 Feb 2017 21:53:43 +0000
Subject: drm/i915: Pass timeout==0 on to i915_gem_object_wait_fence()

From: Chris Wilson <[email protected]>

commit 636deb5b2277cf57bb0f5e00fc9687de9a96061e upstream.

The i915_gem_object_wait_fence() uses an incoming timeout=0 to query whether the current fence is busy or idle, without waiting. This can be used by the wait-ioctl to implement a busy query.

Fixes e95433c73a11 ("drm/i915: Rearrange i915_wait_request() accounting with callers")

Testcase: igt/gem_wait/basic-busy-write-all

Cc Matthew Auld <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc <[email protected]> # v4.10-rc1+
(cherry picked from commit d892e9398ecf6defc7972a62227b77dad6be20bd)
---
 drivers/gpu/drm/i915/i915_gem.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/gpu/drm/i915/i915_gem.c +2 -2
@@ -440,7 +440,7 @@ i915_gem_object_wait_reservation(struct
 			timeout = i915_gem_object_wait_fence(shared[i],
 							     flags, timeout,
 							     rps);
-			if (timeout <= 0)
+			if (timeout < 0)
 				break;
 
 			dma_fence_put(shared[i]);
@@ -453,7 +453,7 @@ i915_gem_object_wait_reservation(struct
 		excl = reservation_object_get_excl_rcu(resv);
 	}
 
-	if (excl && timeout > 0)
+	if (excl && timeout >= 0)
 		timeout = i915_gem_object_wait_fence(excl, flags, timeout, rps);
 
 	dma_fence_put(excl);

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

queue-4.10/drm-i915-recreate-internal-objects-with-single-page-segments-if-dmar-fails.patch queue-4.10/drm-cancel-drm_fb_helper_dirty_work-on-unload.patch queue-4.10/drm-i915-gvt-disable-access-to-stolen-memory-as-a-guest.patch queue-4.10/drm-i915-check-for-timeout-completion-when-waiting-for-the-rq-to-submitted.patch queue-4.10/drm-cancel-drm_fb_helper_resume_work-on-unload.patch queue-4.10/drm-i915-pass-timeout-0-on-to-i915_gem_object_wait_fence.patch