[PATCH v3 01/12] drm/xe/display: Handle stolen bar readout in the same way as lmem
Maarten Lankhorst
maarten.lankhorst at linux.intel.com
Thu Oct 3 15:44:10 UTC 2024
i915 already does this, we should do the same for Xe.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
---
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) {
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
More information about the Intel-xe
mailing list