projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5cce5e3
)
drm/i915: Check the execlist queue for pending requests before declaring idle
author
Chris Wilson
<chris@chris-wilson.co.uk>
Fri, 21 Jul 2017 12:32:24 +0000
(13:32 +0100)
committer
Daniel Vetter
<daniel.vetter@ffwll.ch>
Thu, 27 Jul 2017 07:38:45 +0000
(09:38 +0200)
Including a check against the execlist queue before calling the engine
idle and passing hangcheck.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20170721123238.16428-6-chris@chris-wilson.co.uk
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_engine_cs.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/intel_engine_cs.c
b/drivers/gpu/drm/i915/intel_engine_cs.c
index 24db316e0fd1137ff456b61120c041684a2cb30d..c6ebfe7fb4f15d5e2ff8e3ef2fb4560260efbb11 100644
(file)
--- a/
drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/
drivers/gpu/drm/i915/intel_engine_cs.c
@@
-1283,6
+1283,10
@@
bool intel_engine_is_idle(struct intel_engine_cs *engine)
if (port_request(&engine->execlist_port[0]))
return false;
+ /* ELSP is empty, but there are ready requests? */
+ if (READ_ONCE(engine->execlist_first))
+ return false;
+
/* Ring stopped? */
if (!ring_is_idle(engine))
return false;