<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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to