]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/xe: move DPT l2 flush to a more sensible place
authorMatthew Auld <matthew.auld@intel.com>
Fri, 6 Jun 2025 10:45:48 +0000 (11:45 +0100)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Thu, 26 Jun 2025 12:52:25 +0000 (14:52 +0200)
Only need the flush for DPT host updates here. Normal GGTT updates don't
need special flush.

Fixes: 01570b446939 ("drm/xe/bmg: implement Wa_16023588340")
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: stable@vger.kernel.org # v6.12+
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/20250606104546.1996818-4-matthew.auld@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
(cherry picked from commit 35db1da40c8cfd7511dc42f342a133601eb45449)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
drivers/gpu/drm/xe/display/xe_fb_pin.c

index d918ae1c806182b3953b0bc4f40d6d7fe044eff1..55259969480b4725b235c0583910761013ba75a2 100644 (file)
@@ -164,6 +164,9 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
 
        vma->dpt = dpt;
        vma->node = dpt->ggtt_node[tile0->id];
+
+       /* Ensure DPT writes are flushed */
+       xe_device_l2_flush(xe);
        return 0;
 }
 
@@ -333,8 +336,6 @@ static struct i915_vma *__xe_pin_fb_vma(const struct intel_framebuffer *fb,
        if (ret)
                goto err_unpin;
 
-       /* Ensure DPT writes are flushed */
-       xe_device_l2_flush(xe);
        return vma;
 
 err_unpin: