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 02/13] drm/xe/xelp: Quiesce memory traffic before invalidating auxccs
Date: Wed, 27 Aug 2025 10:39:20 -0400 [thread overview]
Message-ID: <aK8YmLNQ_Uu3uzyn@intel.com> (raw)
In-Reply-To: <20250821141458.72876-3-tvrtko.ursulin@igalia.com>
On Thu, Aug 21, 2025 at 03:14:44PM +0100, Tvrtko Ursulin wrote:
> According to i915 before invalidating auxccs we must quiesce the memory
> traffic by an extra flush.
Perhaps we should be more specific about what commits exactly are mentioning this?
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
> ---
> drivers/gpu/drm/xe/xe_ring_ops.c | 7 ++++++-
> drivers/gpu/drm/xe/xe_ring_ops_types.h | 2 +-
> 2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_ring_ops.c b/drivers/gpu/drm/xe/xe_ring_ops.c
> index 761740d7769f..f56506ebbeca 100644
> --- a/drivers/gpu/drm/xe/xe_ring_ops.c
> +++ b/drivers/gpu/drm/xe/xe_ring_ops.c
> @@ -358,10 +358,15 @@ static void __emit_job_gen12_render_compute(struct xe_sched_job *job,
> struct xe_gt *gt = job->q->gt;
> struct xe_device *xe = gt_to_xe(gt);
> bool lacks_render = !(gt->info.engine_mask & XE_HW_ENGINE_RCS_MASK);
> + const bool aux_ccs = has_aux_ccs(xe);
> u32 mask_flags = 0;
>
> i = emit_copy_timestamp(lrc, dw, i);
>
> + /* hsdes: 1809175790 */
in i915 I just see a mention to this HSD which is the
972282c4cf24 ("drm/i915/gen12: Add aux table invalidate for all engines")
but that is not about emitting the flush, but about fixing the aux
table invalidation itself. And that is in sync what written on this
HSD, but I don't believe this patch is about that.
So, although this patch itself kind of makes sense, I believe it
deserves a better message.
> + if (aux_ccs)
> + i = emit_render_cache_flush(job, dw, i);
> +
> dw[i++] = preparser_disable(true);
> if (lacks_render)
> mask_flags = PIPE_CONTROL_3D_ARCH_FLAGS;
> @@ -372,7 +377,7 @@ static void __emit_job_gen12_render_compute(struct xe_sched_job *job,
> i = emit_pipe_invalidate(mask_flags, job->ring_ops_flush_tlb, dw, i);
>
> /* hsdes: 1809175790 */
> - if (has_aux_ccs(xe))
> + if (aux_ccs)
> i = emit_aux_table_inv(gt, CCS_AUX_INV, dw, i);
>
> dw[i++] = preparser_disable(false);
> diff --git a/drivers/gpu/drm/xe/xe_ring_ops_types.h b/drivers/gpu/drm/xe/xe_ring_ops_types.h
> index d7e3e150a9a5..477dc7defd72 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 58
> +#define MAX_JOB_SIZE_DW 70
> #define MAX_JOB_SIZE_BYTES (MAX_JOB_SIZE_DW * 4)
>
> /**
> --
> 2.48.0
>
next prev parent reply other threads:[~2025-08-27 14:39 UTC|newest]
Thread overview: 24+ 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 [this message]
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-08-21 14:14 ` [PATCH v11 05/13] drm/xe/xelp: Wait for AuxCCS invalidation to complete Tvrtko Ursulin
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=aK8YmLNQ_Uu3uzyn@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).