On systems with media GT, extra latency is added when accessing stolen
memory when the GT is in MC6.

Simply disable allocating stolen memory for framebuffers when media gt
is found.

Thanks to the previous patch, it will be possible to preserve the
contents.

Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/7513
Reviewed-by: Matthew Auld <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Maarten Lankhorst <[email protected]>
---
 drivers/gpu/drm/xe/display/xe_display_bo.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/xe/display/xe_display_bo.c 
b/drivers/gpu/drm/xe/display/xe_display_bo.c
index f5102cd0e95d6..9385026a80b97 100644
--- a/drivers/gpu/drm/xe/display/xe_display_bo.c
+++ b/drivers/gpu/drm/xe/display/xe_display_bo.c
@@ -131,6 +131,14 @@ bool xe_display_bo_fbdev_prefer_stolen(struct xe_device 
*xe, unsigned int size)
        if (IS_DGFX(xe))
                return false;
 
+       /*
+        * Avoid stolen memory when the media_gt exists,
+        * because a lot of latency is added when media gt is in MC6
+        */
+       if (xe_device_get_root_tile(xe)->media_gt)
+               return false;
+
+       /* machine hang when doing lots of LMEMBAR accesses */
        if (XE_DEVICE_WA(xe, 22019338487_display))
                return false;
 
-- 
2.53.0

Reply via email to