]> 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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 14:05:03 +0000 (16:05 +0200)
[ Upstream commit f16873f42a06b620669d48a4b5c3f888cb3653a1 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/xe/display/xe_fb_pin.c

index 972b7db52f78504b18088634059ffb0892d4afb0..0558b106f8b6021237a78c06fe9ddd3d8837decf 100644 (file)
@@ -154,6 +154,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;
 }
 
@@ -318,8 +321,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: