| From b1b13780ab06ef8c770dd9cbe31dac549a11630e Mon Sep 17 00:00:00 2001 |
| From: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> |
| Date: Wed, 14 Feb 2018 11:18:25 -0800 |
| Subject: drm/i915: Fix rsvd2 mask when out-fence is returned |
| |
| From: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> |
| |
| commit b1b13780ab06ef8c770dd9cbe31dac549a11630e upstream. |
| |
| GENMASK_ULL wants the high bit of the mask first. The current value |
| cancels the in-fence when an out-fence is returned. |
| |
| Fixes: fec0445caa273 ("drm/i915: Support explicit fencing for execbuf") |
| Testcase: igt/gem_exec_fence/keep-in-fence* |
| Cc: Chris Wilson <chris@chris-wilson.co.uk> |
| Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> |
| Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> |
| Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> |
| Link: https://patchwork.freedesktop.org/patch/msgid/20180214191827.8465-1-daniele.ceraolospurio@intel.com |
| Cc: <stable@vger.kernel.org> # v4.12+ |
| (cherry picked from commit b6a88e4a804cf5a71159906e16df2c1fc7196f92) |
| Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c |
| +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c |
| @@ -2408,7 +2408,7 @@ err_request: |
| if (out_fence) { |
| if (err == 0) { |
| fd_install(out_fence_fd, out_fence->file); |
| - args->rsvd2 &= GENMASK_ULL(0, 31); /* keep in-fence */ |
| + args->rsvd2 &= GENMASK_ULL(31, 0); /* keep in-fence */ |
| args->rsvd2 |= (u64)out_fence_fd << 32; |
| out_fence_fd = -1; |
| } else { |