From: Matt Roper <matthew.d.roper@intel.com>
To: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: <intel-xe@lists.freedesktop.org>,
Shekhar Chauhan <shekhar.chauhan@intel.com>,
Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>,
Tejas Upadhyay <tejas.upadhyay@intel.com>,
S A Muqthyar Ahmed <syed.abdul.muqthyar.ahmed@intel.com>,
Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Subject: Re: [PATCH 20/23] drm/xe/xe3p_xpc: Add support for compute walker for non-MSIx
Date: Tue, 14 Oct 2025 11:07:05 -0700 [thread overview]
Message-ID: <20251014180705.GY5409@mdroper-desk1.amr.corp.intel.com> (raw)
In-Reply-To: <20251013-xe3p-v1-20-bfb74f038215@intel.com>
On Mon, Oct 13, 2025 at 08:24:52PM -0700, Lucas De Marchi wrote:
> From: S A Muqthyar Ahmed <syed.abdul.muqthyar.ahmed@intel.com>
>
> 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 interrup 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.
>
> Suggested-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> Signed-off-by: S A Muqthyar Ahmed <syed.abdul.muqthyar.ahmed@intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
> drivers/gpu/drm/xe/regs/xe_irq_regs.h | 1 +
> drivers/gpu/drm/xe/xe_irq.c | 4 ++++
> 2 files changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/regs/xe_irq_regs.h b/drivers/gpu/drm/xe/regs/xe_irq_regs.h
> index 7c2a3a1401424..9c46b5fb81412 100644
> --- a/drivers/gpu/drm/xe/regs/xe_irq_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_irq_regs.h
> @@ -82,6 +82,7 @@
> #define GSC_ER_COMPLETE REG_BIT(5)
> #define GT_RENDER_PIPECTL_NOTIFY_INTERRUPT REG_BIT(4)
> #define GT_CS_MASTER_ERROR_INTERRUPT REG_BIT(3)
> +#define GT_COMPUTE_WALKER_INTERRUPT REG_BIT(2)
> #define GT_RENDER_USER_INTERRUPT REG_BIT(0)
>
> /* irqs for OTHER_KCR_INSTANCE */
> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
> index af519414a4297..e01b158895342 100644
> --- a/drivers/gpu/drm/xe/xe_irq.c
> +++ b/drivers/gpu/drm/xe/xe_irq.c
> @@ -150,6 +150,10 @@ void xe_irq_enable_hwe(struct xe_gt *gt)
> if (xe_device_uc_enabled(xe)) {
> irqs = GT_RENDER_USER_INTERRUPT |
> GT_RENDER_PIPECTL_NOTIFY_INTERRUPT;
> +
> + /* Enable Compute Walker Interrupt for non-MSIX platforms */
> + if (GRAPHICS_VERx100(xe) >= 3511 && !xe_device_has_msix(xe))
> + irqs |= GT_COMPUTE_WALKER_INTERRUPT;
This bit only exists in the compute engine interrupt vector (bspec
62346) and render engine interrupt vector (bspec 62353). It does not
exist in the blitter (62345), vcs (62354), vecs (62355), or gsc (63341),
which makes sense because none of those engines can run compute walkers.
Should we be making sure we only try to unmask and enable this interrupt
on supported engine types?
Matt
> } else {
> irqs = GT_RENDER_USER_INTERRUPT |
> GT_CS_MASTER_ERROR_INTERRUPT |
>
> --
> 2.51.0
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
next prev parent reply other threads:[~2025-10-14 18:07 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-14 3:24 [PATCH 00/23] drm/xe: Add Xe3p support Lucas De Marchi
2025-10-14 3:24 ` [PATCH 01/23] drm/xe/xe3: Add support for graphics IP versions 30.04 & 30.05 Lucas De Marchi
2025-10-14 6:17 ` Shekhar Chauhan
2025-10-14 16:11 ` Matt Roper
2025-10-14 3:24 ` [PATCH 02/23] drm/xe/xe3p_lpm: Add support for media IP versions 35.00 & 35.03 Lucas De Marchi
2025-10-14 6:22 ` Shekhar Chauhan
2025-10-14 16:14 ` Matt Roper
2025-10-14 3:24 ` [PATCH 03/23] drm/xe/xe3p_lpm: Configure MAIN_GAMCTRL_QUEUE_SELECT Lucas De Marchi
2025-10-14 16:34 ` Matt Roper
2025-10-15 2:28 ` Lucas De Marchi
2025-10-15 6:36 ` Vivekanandan, Balasubramani
2025-10-15 14:03 ` Lucas De Marchi
2025-10-16 14:20 ` Vivekanandan, Balasubramani
2025-10-15 14:59 ` Matt Roper
2025-10-14 3:24 ` [PATCH 04/23] drm/xe/xe3p_lpm: Add special check in Media GT for Main GAMCTRL Lucas De Marchi
2025-10-14 16:36 ` Matt Roper
2025-10-14 3:24 ` [PATCH 05/23] drm/xe/xe3p_lpm: Stop reading the CTC_MODE register Lucas De Marchi
2025-10-14 11:58 ` Shekhar Chauhan
2025-10-14 16:52 ` Matt Roper
2025-10-15 3:41 ` Lucas De Marchi
2025-10-15 9:19 ` Vivekanandan, Balasubramani
2025-10-15 15:04 ` Matt Roper
2025-10-14 16:40 ` Matt Roper
2025-10-14 16:53 ` Matt Roper
2025-10-14 3:24 ` [PATCH 06/23] drm/xe/xe3p_lpm: Skip disabling NOA on unsupported IPs Lucas De Marchi
2025-10-14 17:04 ` Matt Roper
2025-10-14 3:24 ` [PATCH 07/23] drm/xe/xe3p_lpm: Handle MCR steering Lucas De Marchi
2025-10-15 9:56 ` Vivekanandan, Balasubramani
2025-10-14 3:24 ` [PATCH 08/23] drm/xe/xe3p: Stop programming RCU_MODE's fixed slice mode setting Lucas De Marchi
2025-10-15 12:24 ` Vivekanandan, Balasubramani
2025-10-14 3:24 ` [PATCH 09/23] drm/xe/xe3p: Determine service copy availability from fuse Lucas De Marchi
2025-10-15 20:14 ` Gustavo Sousa
2025-10-14 3:24 ` [PATCH 10/23] drm/xe/xe3p: Skip TD flush Lucas De Marchi
2025-10-14 19:35 ` Matt Roper
2025-10-14 3:24 ` [PATCH 11/23] drm/xe/xe3p: Enable L2 flush optimization feature Lucas De Marchi
2025-10-14 19:43 ` Matt Roper
2025-10-15 4:02 ` Lucas De Marchi
2025-10-14 3:24 ` [PATCH 12/23] drm/xe/xe3p: Flush userptr/shrinker bo cachelines manually Lucas De Marchi
2025-10-14 12:58 ` Thomas Hellström
2025-10-15 18:42 ` Lucas De Marchi
2025-10-14 3:24 ` [PATCH 13/23] drm/xe: Dump CURRENT_LRCA and CSMQDEBUG registers Lucas De Marchi
2025-10-14 17:24 ` Matt Roper
2025-10-15 4:07 ` Lucas De Marchi
2025-10-14 3:24 ` [PATCH 14/23] drm/xe/nvl: Define NVL-S platform Lucas De Marchi
2025-10-14 7:34 ` Shekhar Chauhan
2025-10-14 3:24 ` [PATCH 15/23] drm/xe/nvls: Define GuC firmware for NVL-S Lucas De Marchi
2025-10-15 18:49 ` Lucas De Marchi
2025-10-14 3:24 ` [PATCH 16/23] drm/xe/nvls: Attach MOCS table " Lucas De Marchi
2025-10-14 7:45 ` Shekhar Chauhan
2025-10-14 3:24 ` [PATCH 17/23] drm/xe/xe3p_xpc: Add Xe3p_XPC IP definition Lucas De Marchi
2025-10-14 8:04 ` Shekhar Chauhan
2025-10-14 8:12 ` Shekhar Chauhan
2025-10-14 17:33 ` Matt Roper
2025-10-15 2:47 ` Shekhar Chauhan
2025-10-14 17:36 ` Matt Roper
2025-10-14 3:24 ` [PATCH 18/23] drm/xe/xe3p_xpc: Add L3 bank mask Lucas De Marchi
2025-10-14 17:46 ` Matt Roper
2025-10-14 3:24 ` [PATCH 19/23] drm/xe/xe3p_xpc: Add MCR steering Lucas De Marchi
2025-10-14 3:24 ` [PATCH 20/23] drm/xe/xe3p_xpc: Add support for compute walker for non-MSIx Lucas De Marchi
2025-10-14 18:07 ` Matt Roper [this message]
2025-10-15 17:07 ` Lucas De Marchi
2025-10-15 17:12 ` Matt Roper
2025-10-14 3:24 ` [PATCH 21/23] drm/xe/xe3p_xpc: Skip compression tuning on platforms without flatccs Lucas De Marchi
2025-10-14 8:09 ` Shekhar Chauhan
2025-10-14 8:13 ` Shekhar Chauhan
2025-10-14 18:14 ` Matt Roper
2025-10-15 2:52 ` Shekhar Chauhan
2025-10-15 14:38 ` Lucas De Marchi
2025-10-15 15:34 ` Shekhar Chauhan
2025-10-14 3:24 ` [PATCH 22/23] drm/xe/xe3p_xpc: Setup PAT table Lucas De Marchi
2025-10-16 14:07 ` Vivekanandan, Balasubramani
2025-10-14 3:24 ` [PATCH 23/23] drm/xe/xe3p: Add xe3p EU stall data format Lucas De Marchi
2025-10-14 19:11 ` Matt Roper
2025-10-15 23:05 ` Harish Chegondi
2025-10-14 3:45 ` ✗ CI.checkpatch: warning for drm/xe: Add Xe3p support Patchwork
2025-10-14 3:47 ` ✓ CI.KUnit: success " Patchwork
2025-10-14 4:22 ` ✓ Xe.CI.BAT: " Patchwork
2025-10-14 12:06 ` ✓ Xe.CI.Full: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251014180705.GY5409@mdroper-desk1.amr.corp.intel.com \
--to=matthew.d.roper@intel.com \
--cc=balasubramani.vivekanandan@intel.com \
--cc=himal.prasad.ghimiray@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=lucas.demarchi@intel.com \
--cc=shekhar.chauhan@intel.com \
--cc=syed.abdul.muqthyar.ahmed@intel.com \
--cc=tejas.upadhyay@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox