On Thu, Oct 03, 2024 at 05:44:10PM +0200, Maarten Lankhorst wrote:
i915 already does this, we should do the same for Xe. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/xe/display/xe_plane_initial.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/xe/display/xe_plane_initial.c b/drivers/gpu/drm/xe/display/xe_plane_initial.c index 1b10ea499d8c8..cf139921e7817 100644 --- a/drivers/gpu/drm/xe/display/xe_plane_initial.c +++ b/drivers/gpu/drm/xe/display/xe_plane_initial.c @@ -69,7 +69,7 @@ initial_plane_bo(struct xe_device *xe, flags = XE_BO_FLAG_PINNED | XE_BO_FLAG_SCANOUT | XE_BO_FLAG_GGTT; base = round_down(plane_config->base, page_size); - if (IS_DGFX(xe)) { + if (IS_DGFX(xe) || GRAPHICS_VERx100(xe) >= 1270) {
and with this you just dropped Wa 22019338487 from e.g. LNL. Also, making igfx going through this path is very odd when it has checks like phys_base >= mem.vram.usable_size Lucas De Marchi
u64 __iomem *gte = tile0->mem.ggtt->gsm; u64 pte; @@ -83,7 +83,6 @@ initial_plane_bo(struct xe_device *xe, } phys_base = pte & ~(page_size - 1); - flags |= XE_BO_FLAG_VRAM0; /* * We don't currently expect this to ever be placed in the @@ -105,7 +104,6 @@ initial_plane_bo(struct xe_device *xe, if (!stolen) return NULL; phys_base = base; - flags |= XE_BO_FLAG_STOLEN; if (XE_WA(xe_root_mmio_gt(xe), 22019338487_display)) return NULL; @@ -120,6 +118,11 @@ initial_plane_bo(struct xe_device *xe, return NULL; } + if (IS_DGFX(xe)) + flags |= XE_BO_FLAG_VRAM0; + else + flags |= XE_BO_FLAG_STOLEN; + size = round_up(plane_config->base + plane_config->size, page_size); size -= base; -- 2.45.2