From: Tvrtko Ursulin Date: Tue, 24 Mar 2026 08:40:08 +0000 (+0000) Subject: drm/xe: Use write-combine mapping when populating DPT X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=36052e56d5943bbd8244321c3b1445ba5db0f12b;p=thirdparty%2Fkernel%2Flinux.git drm/xe: Use write-combine mapping when populating DPT The fallback case for DPT backing store is a buffer object in system memory buffer, which by default use a write-back CPU caching policy. If this fallback gets triggered, and since there is currently no flushing, the DPT writes made when pinning a buffer to display are not guaranteed to be seen by the display engine. To fix this, since both the local memory and the stolen memory DPT placements already use write-combine, let us make the system memory option follow suit by passing down the appropriate flag. Signed-off-by: Tvrtko Ursulin Suggested-by: Ville Syrjälä Reviewed-by: Rodrigo Vivi Link: https://patch.msgid.link/20260324084018.20353-3-tvrtko.ursulin@igalia.com Signed-off-by: Rodrigo Vivi --- diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c index d4a9eb550cae2..df7d305c6fcd9 100644 --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c @@ -122,7 +122,8 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb, ttm_bo_type_kernel, XE_BO_FLAG_SYSTEM | XE_BO_FLAG_GGTT | - XE_BO_FLAG_PAGETABLE, + XE_BO_FLAG_PAGETABLE | + XE_BO_FLAG_FORCE_WC, alignment, false); if (IS_ERR(dpt)) return PTR_ERR(dpt);