Add some fixes for GGTT. First we allow GGTT allocations above
GUC_GGTT_TOP, but not use that area by default.

This will allow us to fully reserve the area of GGTT that is used by
the firmware allocation if it's not before ggtt->start.
This will allow us to safely perform our own allocation at the correct
place, and free the firmware allocation. Any remainder of firwmare
GGTT entries are then cleared later in xe_ggtt_init().

This separates the GGTT offset with the physical offset, and allows us
to fix a bug with MTL, where those are different.

Maarten Lankhorst (7):
  drm/xe/ggtt: Allocate the area of GGTT above GUC_GGTT_TOP.
  drm/xe/ggtt: Add xe_ggtt_insert_node_at
  drm/xe/ggtt: Add xe_ggtt_node_remove_noclear
  drm/xe/display: Reserve the original GGTT space before creating a bo
  drm/xe/display: Use the correct calculation for phys_base on
    integrated
  drm/xe/display: Remove duplicated code
  drm/xe/ggtt: Remove xe_ggtt_insert_bo_at

 drivers/gpu/drm/xe/display/xe_initial_plane.c |  49 ++++-----
 drivers/gpu/drm/xe/xe_bo.c                    |   8 +-
 drivers/gpu/drm/xe/xe_ggtt.c                  | 101 ++++++++++++------
 drivers/gpu/drm/xe/xe_ggtt.h                  |   5 +-
 4 files changed, 95 insertions(+), 68 deletions(-)

-- 
2.53.0

Reply via email to