From: John Harrison Date: Tue, 3 Dec 2024 00:59:49 +0000 (-0800) Subject: drm/xe/guc: Fix for dead CT dump not re-arming X-Git-Tag: v6.14-rc1~174^2~17^2~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=36bcc52b9bf078d92ff8f0f258cbe6b6e5213ee0;p=thirdparty%2Fkernel%2Flinux.git drm/xe/guc: Fix for dead CT dump not re-arming 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 Reviewed-by: Julia Filipchuk Link: https://patchwork.freedesktop.org/patch/msgid/20241203005949.3947920-1-John.C.Harrison@Intel.com --- diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c index 7eb175a0b874e..7d33f3a11e618 100644 --- a/drivers/gpu/drm/xe/xe_guc_ct.c +++ b/drivers/gpu/drm/xe/xe_guc_ct.c @@ -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