]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/xe/xe3p_xpc: Add support for compute walker for non-MSIx
authorLucas De Marchi <lucas.demarchi@intel.com>
Fri, 17 Oct 2025 02:26:40 +0000 (19:26 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Sun, 19 Oct 2025 02:45:13 +0000 (19:45 -0700)
commit32e0fa9e01475beba9eeb0a5fdda69762be11947
treefb2f51fdc5786d5a52571f13f48c362f6d87b818
parent22b7117ec8c45923d2413ea54fb97fedd472ceaf
drm/xe/xe3p_xpc: Add support for compute walker for non-MSIx

Current implementation of compute walker has dependency on GPU/SW Stack
which requires SW/UMD to wait for event from KMD to indicate
PIPE_CONTROL interrupt was done. This created latency on SW stack.

This feature adds support to generate completion interrupt from GPGPU
walker which does not support MSIx and avoid software using Pipe control
drain/idle latency.

The only thing needed for the kernel driver to do here is to wakeup the
thread waiting on the ufence, which is already handled by the irq
handler. Before waiting on this event, the userspace side can opt-in to
this interrupt being generated by the HW by selecting the flag in the
POST_SYNC_DATA_2 substructure's dw0[3] of COMPUTE_WALKER_2 instruction.

Bspec: 62346, 74334
Suggested-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Signed-off-by: S A Muqthyar Ahmed <syed.abdul.muqthyar.ahmed@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20251016-xe3p-v3-21-3dd173a3097a@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/regs/xe_irq_regs.h
drivers/gpu/drm/xe/xe_irq.c