[PATCH] drm/xe/guc: Only take actions in CT irq handler if CTs are enabled
Michal Wajdeczko
michal.wajdeczko at intel.com
Fri Jan 5 19:59:36 UTC 2024
On 02.01.2024 22:43, Matthew Brost wrote:
> Protect entire IRQ handler by CT being enabled rather than just G2H
> handler.
>
> Suggested-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Signed-off-by: Matthew Brost <matthew.brost at intel.com>
> ---
> drivers/gpu/drm/xe/xe_guc_ct.h | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h b/drivers/gpu/drm/xe/xe_guc_ct.h
> index f15f8a4857e0..05302db02e08 100644
> --- a/drivers/gpu/drm/xe/xe_guc_ct.h
> +++ b/drivers/gpu/drm/xe/xe_guc_ct.h
> @@ -24,10 +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)
> {
> - wake_up_all(&ct->wq);
> - if (ct->enabled)
> + if (ct->enabled) {
nit: to simplify the code I would rather exit early if (!ct->enabled)
> + wake_up_all(&ct->wq);
btw, shouldn't we wake up wq _after_ we process a g2h message?
and maybe this should be done in fast_path or worker?
> queue_work(system_unbound_wq, &ct->g2h_worker);
> - xe_guc_ct_fast_path(ct);
> + xe_guc_ct_fast_path(ct);
> + }
anyway, since we move forward,
Reviewed-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> }
>
> /* Basic CT send / receives */
More information about the Intel-xe
mailing list