]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/guc: Fix for dead CT dump not re-arming
authorJohn Harrison <John.C.Harrison@Intel.com>
Tue, 3 Dec 2024 00:59:49 +0000 (16:59 -0800)
committerJohn Harrison <John.C.Harrison@Intel.com>
Thu, 5 Dec 2024 23:25:44 +0000 (15:25 -0800)
The state dump on a dead CT incident deliberately disarms itself after
running. This is to prevent a long stream of errors causing continuous
dumps. It was supposed to re-arm itself after a reset, however that
was not happening. The re-arm flag was being set but the worker was
not being run to process that flag. So fix that.

Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Julia Filipchuk <julia.filipchuk@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241203005949.3947920-1-John.C.Harrison@Intel.com
drivers/gpu/drm/xe/xe_guc_ct.c

index 7eb175a0b874e22b546941c927dd4ede816ed6d5..7d33f3a11e6187d29b21fae4c83d14f34e04b01e 100644 (file)
@@ -470,8 +470,10 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
         * after any existing dead state has been dumped.
         */
        spin_lock_irq(&ct->dead.lock);
-       if (ct->dead.reason)
+       if (ct->dead.reason) {
                ct->dead.reason |= (1 << CT_DEAD_STATE_REARM);
+               queue_work(system_unbound_wq, &ct->dead.worker);
+       }
        spin_unlock_irq(&ct->dead.lock);
 #endif