<snip>
@@ -870,7 +895,8 @@ static void execlists_submission_tasklet(unsigned long data)
GEM_BUG_ON(status & GEN8_CTX_STATUS_IDLE_ACTIVE);
if (status & GEN8_CTX_STATUS_COMPLETE &&
- buf[2*head + 1] == PREEMPT_ID) {
+ HAS_LOGICAL_RING_PREEMPTION(dev_priv) &&
+ buf[2*head + 1] == upper_32_bits(preempt_ce->lrc_desc)) {
buf[2*head + 1] == execlists->preempt_status_complete
No need for HAS_LOGICAL_RING_PREEMPTION as you can then set to an
impossible value. If you want to send that as a bug fix patch first...
-Chris
Unless I'm missing something this isn't a bug pre-gen11 since we always
allocate the preempt context and thus we can't erroneously match
PREEMPT_ID. lrc_desc is only created after pinning, so to use that the
extra check was required. I'll add execlists->preempt_status_complete
(and the other change for the commit_reg) to this patch.
Daniele
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx