drm/xe/stolen: ignore first page for FBC
authorMatthew Auld <matthew.auld@intel.com>
Fri, 12 Apr 2024 15:03:03 +0000 (16:03 +0100)
committerMatthew Auld <matthew.auld@intel.com>
Wed, 17 Apr 2024 12:09:47 +0000 (13:09 +0100)
We have observed underruns on some platforms if the CFB offset is within
the first page of stolen. Just like i915 skip the first page.

v2 (Maarten)
  - Also align the start.

BSpec: 50214
Reported-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240412150301.273344-4-matthew.auld@intel.com
drivers/gpu/drm/xe/compat-i915-headers/i915_gem_stolen.h

index b4ccc42..cb6c759 100644 (file)
@@ -19,8 +19,13 @@ static inline int i915_gem_stolen_insert_node_in_range(struct xe_device *xe,
        int err;
        u32 flags = XE_BO_FLAG_PINNED | XE_BO_FLAG_STOLEN;
 
-       if (align)
+       if (start < SZ_4K)
+               start = SZ_4K;
+
+       if (align) {
                size = ALIGN(size, align);
+               start = ALIGN(start, align);
+       }
 
        bo = xe_bo_create_locked_range(xe, xe_device_get_root_tile(xe),
                                       NULL, size, start, end,