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 <stable@xxxxxxxxxxxxxxx> know about it. >From 636deb5b2277cf57bb0f5e00fc9687de9a96061e Mon Sep 17 00:00:00 2001 From: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> 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 <chris@xxxxxxxxxxxxxxxxxx> 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 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Matthew Auld <matthew.william.auld@xxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Cc: <drm-intel-fixes@xxxxxxxxxxxxxxxxxxxxx> # v4.10-rc1+ Link: http://patchwork.freedesktop.org/patch/msgid/20170212215344.16600-1-chris@xxxxxxxxxxxxxxxxxx Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> (cherry picked from commit d892e9398ecf6defc7972a62227b77dad6be20bd) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/i915_gem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -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 chris@xxxxxxxxxxxxxxxxxx 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