Message ID | 20180214191827.8465-1-daniele.ceraolospurio@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Quoting Daniele Ceraolo Spurio (2018-02-14 19:18:25) > 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/whatever-you-called-it > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> > --- > drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > index b15305f2fb76..ed6e9db51e67 100644 > --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c > +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > @@ -2410,7 +2410,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, > 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 */ OMG. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> -Chris
Quoting Daniele Ceraolo Spurio (2018-02-14 19:18:25) > 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") > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Pushed, thanks for the fix and the test case. -Chris
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c index b15305f2fb76..ed6e9db51e67 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c @@ -2410,7 +2410,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, 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 {
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") Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> --- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)