On Sun, Oct 04, 2026 at 03:51:45AM +0530, Navon John Lukose wrote:
> xe implements Wa_22016122933 by mapping the media GT's GuC-shared
> buffers uncached on the CPU side. i915 maps the same buffers WC on the
> CPU and UC on the GPU.

Thanks for catching this, and sorry for the regression.

I reviewed it against 7.2.11. The GGTT PTEs still key their cache mode
off XE_BO_FLAG_NEEDS_UC alone (both encode paths in xe_ggtt.c), so the
GPU side stays XE_CACHE_NONE as the workaround needs. Every user of
xe_guc_bo_wa_flags() picks up FORCE_WC: ADS, CTB, GuC log, SLPC and
engine activity. The only other internal NEEDS_UC user that touches the
GuC, the UM queue BO in xe_guc_ads.c, predates the workaround and is
left alone. CPU reads through WC still bypass the cache, so the stale
G2H reads the workaround is about cannot come back.

Tested on a second ARL-H 7d51 (GuC 70.53.0), on 7.2.11 carrying
63360b32, fc668a6e and d5b0bf3f, with only xe.ko rebuilt with this
patch.

Probe, dmesg "GT0: Using GuC firmware" to "Initialized xe":
  d5b0bf3f only:   3.56, 3.49, 3.52 s
  with this patch: 0.37 s

Resume from s2idle, wake ("ACPI: EC: interrupt unblocked") to
"PM: suspend exit":
  d5b0bf3f only:   2.43, 2.92, 2.97, 2.58, 2.93 s
                   (xe done after 2.28-2.83 s)
  with this patch: 0.39 s (37 s asleep), 0.40 s (386 s asleep)
                   (xe done after 0.11 s both times)

20 minutes of VA-API decode, two decoders in parallel on 4K 10-bit HEVC
clips (528 decodes): no TLB invalidation timeouts, no late acks, no job
timeouts, no GT resets. I did not disable C-states for that run.

Over the same session I got one media GT "not started" job timeout in a
browser, recovered by a GT reset. It is the same thing I already see
without this patch (four devcoredumps since October 7 on the UC
version, all with the LRC tail in memory still equal to the head), so
it looks unrelated to this patch. I have reported it separately in
https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/8678.

Reviewed-by: Tales A. Mendonça <[email protected]>
Tested-by: Tales A. Mendonça <[email protected]>

Thanks,
Tales

Reply via email to