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:
1d5fd00
)
drm/i915/guc: Skip port assign on first iteration of GuC dequeue
author
Michał Winiarski
<
[email protected]
>
Tue, 23 May 2017 10:23:59 +0000
(12:23 +0200)
committer
Chris Wilson
<
[email protected]
>
Tue, 23 May 2017 10:54:06 +0000
(11:54 +0100)
If port[0] is occupied and we're trying to dequeue request from
different context, we will inevitably hit BUG_ON in port_assign.
Let's skip it - similar to what we're doing in execlists counterpart.
Fixes: 77f0d0e925e8a0 ("drm/i915/execlists: Pack the count into the low bits of the port.request")
Cc: Chris Wilson <
[email protected]
>
Cc: Michał Wajdeczko <
[email protected]
>
Cc: Mika Kuoppala <
[email protected]
>
Cc: Tvrtko Ursulin <
[email protected]
>
Signed-off-by: Michał Winiarski <
[email protected]
>
Reviewed-by: Chris Wilson <
[email protected]
>
Link:
http://patchwork.freedesktop.org/patch/msgid/
[email protected]
Signed-off-by: Chris Wilson <
[email protected]
>
drivers/gpu/drm/i915/i915_guc_submission.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/i915_guc_submission.c
b/drivers/gpu/drm/i915/i915_guc_submission.c
index 777f48e9bb33b2ee8fc0348c4d9fe9b7a7f0880c..e6e0c6ef1084b99b86c50849773925a9fbe065c1 100644
(file)
--- a/
drivers/gpu/drm/i915/i915_guc_submission.c
+++ b/
drivers/gpu/drm/i915/i915_guc_submission.c
@@
-681,7
+681,8
@@
static bool i915_guc_dequeue(struct intel_engine_cs *engine)
goto done;
}
- port_assign(port, last);
+ if (submit)
+ port_assign(port, last);
port++;
}