From: "Michał Winiarski" <michal.winiarski@intel.com>
To: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: <intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH 2/3] drm/xe: Add MI_SEMAPHORE_WAIT command definition
Date: Mon, 23 Mar 2026 09:53:59 +0100 [thread overview]
Message-ID: <acD_ihF75hjxBX0U@nostramo> (raw)
In-Reply-To: <20260303201354.17948-3-michal.wajdeczko@intel.com>
On Tue, Mar 03, 2026 at 09:13:53PM +0100, Michal Wajdeczko wrote:
> This command supports memory based Semaphore WAIT. Memory based
> semaphores will be used for synchronization between the Producer
> and the Consumer contexts. Producer and Consumer Contexts could
> be running on different engines or on the same engine inside GT.
>
> Bspec: 45749, 60244
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
Thanks,
-Michał
> ---
> drivers/gpu/drm/xe/instructions/xe_mi_commands.h | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/instructions/xe_mi_commands.h b/drivers/gpu/drm/xe/instructions/xe_mi_commands.h
> index c47b290e0e9f..29569eff1af3 100644
> --- a/drivers/gpu/drm/xe/instructions/xe_mi_commands.h
> +++ b/drivers/gpu/drm/xe/instructions/xe_mi_commands.h
> @@ -34,6 +34,19 @@
> #define MI_FORCE_WAKEUP __MI_INSTR(0x1D)
> #define MI_MATH(n) (__MI_INSTR(0x1A) | XE_INSTR_NUM_DW((n) + 1))
>
> +#define MI_SEMAPHORE_WAIT (__MI_INSTR(0x1c) | XE_INSTR_NUM_DW(5))
> +#define MI_SEMW_GGTT REG_BIT(22)
> +#define MI_SEMW_POLL REG_BIT(15)
> +#define MI_SEMW_COMPARE_OP_MASK REG_GENMASK(14, 12)
> +#define COMPARE_OP_SAD_GT_SDD 0
> +#define COMPARE_OP_SAD_GTE_SDD 1
> +#define COMPARE_OP_SAD_LT_SDD 2
> +#define COMPARE_OP_SAD_LTE_SDD 3
> +#define COMPARE_OP_SAD_EQ_SDD 4
> +#define COMPARE_OP_SAD_NEQ_SDD 5
> +#define MI_SEMW_COMPARE(OP) REG_FIELD_PREP(MI_SEMW_COMPARE_OP_MASK, COMPARE_OP_##OP)
> +#define MI_SEMW_TOKEN(token) REG_FIELD_PREP(REG_GENMASK(9, 2), (token))
> +
> #define MI_STORE_DATA_IMM __MI_INSTR(0x20)
> #define MI_SDI_GGTT REG_BIT(22)
> #define MI_SDI_LEN_DW GENMASK(9, 0)
> --
> 2.47.1
>
next prev parent reply other threads:[~2026-03-23 8:54 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-03 20:13 [PATCH 0/3] drm/xe/vf: Improve getting clean NULL context Michal Wajdeczko
2026-03-03 20:13 ` [PATCH 1/3] drm/xe: Add PR_CTR_CTRL/THRSH register definitions Michal Wajdeczko
2026-03-23 8:51 ` Michał Winiarski
2026-03-03 20:13 ` [PATCH 2/3] drm/xe: Add MI_SEMAPHORE_WAIT command definition Michal Wajdeczko
2026-03-23 8:53 ` Michał Winiarski [this message]
2026-03-03 20:13 ` [PATCH 3/3] drm/xe/vf: Improve getting clean NULL context Michal Wajdeczko
2026-03-23 9:01 ` Michał Winiarski
2026-03-03 20:21 ` ✓ CI.KUnit: success for " Patchwork
2026-03-03 21:04 ` ✗ Xe.CI.BAT: failure " Patchwork
2026-03-04 7:24 ` ✗ Xe.CI.FULL: " Patchwork
2026-03-06 8:58 ` ✓ CI.KUnit: success for drm/xe/vf: Improve getting clean NULL context (rev2) Patchwork
2026-03-06 9:35 ` ✗ Xe.CI.BAT: failure " Patchwork
2026-03-23 9:08 ` Michal Wajdeczko
2026-03-07 9:40 ` ✗ Xe.CI.FULL: " Patchwork
2026-03-23 9:16 ` Michal Wajdeczko
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=acD_ihF75hjxBX0U@nostramo \
--to=michal.winiarski@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=michal.wajdeczko@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.