diff options
author | Matthew Brost <matthew.brost@intel.com> | 2024-01-02 12:35:38 -0800 |
---|---|---|
committer | Matthew Brost <matthew.brost@intel.com> | 2024-01-09 06:56:46 -0800 |
commit | 5030e16140b655ba00217d47680e697480ac3587 (patch) | |
tree | 78c783651a9aaea8087855582fd2d7c7dc6c65f8 /drivers/gpu/drm/xe/xe_guc_ct.h | |
parent | 97d0047cbb17318431eaf37dfe1a6855539340f9 (diff) |
drm/xe/guc: Only take actions in CT irq handler if CTs are enabled
Protect entire IRQ handler by CT being enabled rather than just G2H
handler.
v2: Return on not enabled in CT irq handler (Michal)
Suggested-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_guc_ct.h')
-rw-r--r-- | drivers/gpu/drm/xe/xe_guc_ct.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h b/drivers/gpu/drm/xe/xe_guc_ct.h index f15f8a4857e0..9ecb67db8ec4 100644 --- a/drivers/gpu/drm/xe/xe_guc_ct.h +++ b/drivers/gpu/drm/xe/xe_guc_ct.h @@ -24,9 +24,11 @@ void xe_guc_ct_print(struct xe_guc_ct *ct, struct drm_printer *p, bool atomic); static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct) { + if (!ct->enabled) + return; + wake_up_all(&ct->wq); - if (ct->enabled) - queue_work(system_unbound_wq, &ct->g2h_worker); + queue_work(system_unbound_wq, &ct->g2h_worker); xe_guc_ct_fast_path(ct); } |