All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Cc: <intel-xe@lists.freedesktop.org>, <kernel-dev@igalia.com>
Subject: Re: [PATCH v11 05/13] drm/xe/xelp: Wait for AuxCCS invalidation to complete
Date: Fri, 12 Sep 2025 10:23:12 -0400	[thread overview]
Message-ID: <aMQs0Mtvgf4tdZwR@intel.com> (raw)
In-Reply-To: <20250821141458.72876-6-tvrtko.ursulin@igalia.com>

On Thu, Aug 21, 2025 at 03:14:47PM +0100, Tvrtko Ursulin wrote:
> On AuxCCS platforms we need to wait for AuxCCS invalidations to complete.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
>  drivers/gpu/drm/xe/instructions/xe_mi_commands.h | 6 ++++++
>  drivers/gpu/drm/xe/xe_ring_ops.c                 | 9 ++++++++-
>  drivers/gpu/drm/xe/xe_ring_ops_types.h           | 2 +-
>  3 files changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/instructions/xe_mi_commands.h b/drivers/gpu/drm/xe/instructions/xe_mi_commands.h
> index c47b290e0e9f..49d8ffd026d5 100644
> --- a/drivers/gpu/drm/xe/instructions/xe_mi_commands.h
> +++ b/drivers/gpu/drm/xe/instructions/xe_mi_commands.h
> @@ -81,4 +81,10 @@
>  #define MI_SET_APPID_SESSION_ID_MASK	REG_GENMASK(6, 0)
>  #define MI_SET_APPID_SESSION_ID(x)	REG_FIELD_PREP(MI_SET_APPID_SESSION_ID_MASK, x)
>  
> +#define MI_SEMAPHORE_WAIT_TOKEN		(__MI_INSTR(0x1c) | XE_INSTR_NUM_DW(5)) /* XeLP+ */
> +#define   MI_SEMAPHORE_REGISTER_POLL	REG_BIT(16)
> +#define   MI_SEMAPHORE_POLL		REG_BIT(15)
> +#define   MI_SEMAPHORE_CMP_OP_MASK	REG_GENMASK(14, 12)
> +#define   MI_SEMAPHORE_SAD_EQ_SDD	REG_FIELD_PREP(MI_SEMAPHORE_CMP_OP_MASK, 4)
> +
>  #endif
> diff --git a/drivers/gpu/drm/xe/xe_ring_ops.c b/drivers/gpu/drm/xe/xe_ring_ops.c
> index 752dea0a9234..78d8120c4a0e 100644
> --- a/drivers/gpu/drm/xe/xe_ring_ops.c
> +++ b/drivers/gpu/drm/xe/xe_ring_ops.c
> @@ -56,7 +56,14 @@ static int emit_aux_table_inv(struct xe_gt *gt, struct xe_reg reg,
>  	dw[i++] = MI_LOAD_REGISTER_IMM | MI_LRI_NUM_REGS(1) | MI_LRI_MMIO_REMAP_EN;
>  	dw[i++] = reg.addr + gt->mmio.adj_offset;
>  	dw[i++] = AUX_INV;
> -	dw[i++] = MI_NOOP;
> +	dw[i++] = MI_SEMAPHORE_WAIT_TOKEN |
> +		  MI_SEMAPHORE_REGISTER_POLL |
> +		  MI_SEMAPHORE_POLL |
> +		  MI_SEMAPHORE_SAD_EQ_SDD;
> +	dw[i++] = 0;
> +	dw[i++] = reg.addr + gt->mmio.adj_offset;
> +	dw[i++] = 0;
> +	dw[i++] = 0;
>  
>  	return i;
>  }
> diff --git a/drivers/gpu/drm/xe/xe_ring_ops_types.h b/drivers/gpu/drm/xe/xe_ring_ops_types.h
> index 477dc7defd72..1197fc0bf2af 100644
> --- a/drivers/gpu/drm/xe/xe_ring_ops_types.h
> +++ b/drivers/gpu/drm/xe/xe_ring_ops_types.h
> @@ -8,7 +8,7 @@
>  
>  struct xe_sched_job;
>  
> -#define MAX_JOB_SIZE_DW 70
> +#define MAX_JOB_SIZE_DW 74
>  #define MAX_JOB_SIZE_BYTES (MAX_JOB_SIZE_DW * 4)
>  
>  /**
> -- 
> 2.48.0
> 

  reply	other threads:[~2025-09-12 14:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-21 14:14 [PATCH v11 00/13] AuxCCS handling and render compression modifiers Tvrtko Ursulin
2025-08-21 14:14 ` [PATCH v11 01/13] drm/xe/xelpg: Flush CCS when flushing caches Tvrtko Ursulin
2025-08-27 14:10   ` Rodrigo Vivi
2025-08-21 14:14 ` [PATCH v11 02/13] drm/xe/xelp: Quiesce memory traffic before invalidating auxccs Tvrtko Ursulin
2025-08-27 14:39   ` Rodrigo Vivi
2025-09-01 10:37     ` Tvrtko Ursulin
2025-09-02 17:33       ` Rodrigo Vivi
2025-09-03  7:50         ` Tvrtko Ursulin
2025-08-21 14:14 ` [PATCH v11 03/13] drm/xe/xelp: Support auxccs invalidation on blitter Tvrtko Ursulin
2025-08-21 14:14 ` [PATCH v11 04/13] drm/xe/xelp: Use MI_FLUSH_DW_CCS on auxccs platforms Tvrtko Ursulin
2025-09-12 14:25   ` Rodrigo Vivi
2025-08-21 14:14 ` [PATCH v11 05/13] drm/xe/xelp: Wait for AuxCCS invalidation to complete Tvrtko Ursulin
2025-09-12 14:23   ` Rodrigo Vivi [this message]
2025-08-21 14:14 ` [PATCH v11 06/13] drm/xe: Export xe_emit_aux_table_inv Tvrtko Ursulin
2025-08-21 14:14 ` [PATCH v11 07/13] drm/xe/xelp: Add AuxCCS invalidation to the indirect context workarounds Tvrtko Ursulin
2025-08-21 14:14 ` [PATCH v11 08/13] drm/xe: Flush GGTT writes after populating DPT Tvrtko Ursulin
2025-08-21 14:14 ` [PATCH v11 09/13] drm/xe: Handle DPT in system memory Tvrtko Ursulin
2025-08-21 14:14 ` [PATCH v11 10/13] drm/xe/display: Add support for AuxCCS Tvrtko Ursulin
2025-08-21 14:14 ` [PATCH v11 11/13] drm/xe: Force flush system memory AuxCCS framebuffers before scan out Tvrtko Ursulin
2025-08-21 14:14 ` [PATCH v11 12/13] drm/xe: Do not use stolen memory for DPT on IGFX and AuxCCS Tvrtko Ursulin
2025-08-21 14:14 ` [PATCH v11 13/13] drm/i915/display: Expose AuxCCS frame buffer modifiers for Xe Tvrtko Ursulin
2025-08-21 14:55 ` ✗ CI.checkpatch: warning for AuxCCS handling and render compression modifiers (rev13) Patchwork
2025-08-21 14:57 ` ✓ CI.KUnit: success " Patchwork
2025-08-21 16:08 ` ✓ Xe.CI.BAT: " Patchwork
2025-08-22 14:30 ` ✗ Xe.CI.Full: failure " Patchwork
2025-08-23  9:16   ` Tvrtko Ursulin

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=aMQs0Mtvgf4tdZwR@intel.com \
    --to=rodrigo.vivi@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=kernel-dev@igalia.com \
    --cc=tvrtko.ursulin@igalia.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.