projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2e4a5b2
)
drm/i915: Clear the in-use marker on execbuf failure
author
Chris Wilson
<
[email protected]
>
Mon, 19 Feb 2018 14:01:44 +0000
(14:01 +0000)
committer
Chris Wilson
<
[email protected]
>
Mon, 19 Feb 2018 19:43:05 +0000
(19:43 +0000)
If we fail to unbind the vma (due to a signal on an active buffer that
needs to be moved for the next execbuf), then we need to clear the
persistent tracking state we setup for this execbuf.
Fixes: c7c6e46f913b ("drm/i915: Convert execbuf to use struct-of-array packing for critical fields")
Testcase: igt/gem_fenced_exec_thrash/no-spare-fences-busy*
Signed-off-by: Chris Wilson <
[email protected]
>
Cc: Tvrtko Ursulin <
[email protected]
>
Cc: Joonas Lahtinen <
[email protected]
>
Cc: <
[email protected]
> # v4.14+
Reviewed-by: Tvrtko Ursulin <
[email protected]
>
Link:
https://patchwork.freedesktop.org/patch/msgid/
[email protected]
drivers/gpu/drm/i915/i915_gem_execbuffer.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 51f3c32c64bf9f327832e796ce4e8c4a5ca3bef4..4eb28e84fda46e3127234f8a0862bf4d7ef92967 100644
(file)
--- a/
drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/
drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@
-505,6
+505,8
@@
eb_add_vma(struct i915_execbuffer *eb, unsigned int i, struct i915_vma *vma)
list_add_tail(&vma->exec_link, &eb->unbound);
if (drm_mm_node_allocated(&vma->node))
err = i915_vma_unbind(vma);
+ if (unlikely(err))
+ vma->exec_flags = NULL;
}
return err;
}