Message ID | 20210323155059.628690-65-maarten.lankhorst@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Remove obj->mm.lock! | expand |
On Tue, Mar 23, 2021 at 04:50:53PM +0100, Maarten Lankhorst wrote: > In reloc_iomap we swallow the -EDEADLK error, but this needs to > be returned for -EDEADLK handling. Add the missing check to > make bsw pass again. > > Testcase: gem_exec_fence.basic-await > > Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> This partially reverts https://lore.kernel.org/intel-gfx/CAM0jSHOHkZhivgi-X37W2rxYQHm1vbqB8uzAVYexEjuwE0LxSQ@mail.gmail.com/ which I'm going to throw out anyway. So not merged this one here. -Daniel > --- > drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > index 37fecd295eb6..f85ca10bf7f3 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > @@ -1216,6 +1216,8 @@ static void *reloc_iomap(struct drm_i915_gem_object *obj, > PIN_MAPPABLE | > PIN_NONBLOCK /* NOWARN */ | > PIN_NOEVICT); > + if (vma == ERR_PTR(-EDEADLK)) > + return vma; > if (IS_ERR(vma)) { > memset(&cache->node, 0, sizeof(cache->node)); > mutex_lock(&ggtt->vm.mutex); > -- > 2.31.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index 37fecd295eb6..f85ca10bf7f3 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -1216,6 +1216,8 @@ static void *reloc_iomap(struct drm_i915_gem_object *obj, PIN_MAPPABLE | PIN_NONBLOCK /* NOWARN */ | PIN_NOEVICT); + if (vma == ERR_PTR(-EDEADLK)) + return vma; if (IS_ERR(vma)) { memset(&cache->node, 0, sizeof(cache->node)); mutex_lock(&ggtt->vm.mutex);
In reloc_iomap we swallow the -EDEADLK error, but this needs to be returned for -EDEADLK handling. Add the missing check to make bsw pass again. Testcase: gem_exec_fence.basic-await Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> --- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 ++ 1 file changed, 2 insertions(+)