SRIOV-VF node shifting code uses a complicated system with balloons to limit allocation and size. Since size never changes after init, shifting can simply be done by taking the the GGTT lock.
First introduce a function to shift an entire GGTT, this removes the need for the balloons, then also perform the display code pinning through a callback, and finally privatize the struct. No other users outside of xe_ggtt remain. Maarten Lankhorst (4): drm/xe: Start using ggtt->start in preparation of balloon removal drm/xe: Rewrite GGTT VF initialisation drm/xe: Convert xe_fb_pin to use a callback for insertion into GGTT drm/xe: Move struct xe_ggtt to xe_ggtt.c Tomasz Lis (1): drm/mm: Introduce address space shifting drivers/gpu/drm/drm_mm.c | 24 ++ drivers/gpu/drm/xe/Makefile | 3 +- drivers/gpu/drm/xe/display/xe_fb_pin.c | 111 +++---- drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c | 2 +- drivers/gpu/drm/xe/xe_ggtt.c | 336 ++++++++++---------- drivers/gpu/drm/xe/xe_ggtt.h | 14 +- drivers/gpu/drm/xe/xe_ggtt_types.h | 53 +-- drivers/gpu/drm/xe/xe_sriov_vf.c | 4 +- drivers/gpu/drm/xe/xe_tile_sriov_vf.c | 254 --------------- drivers/gpu/drm/xe/xe_tile_sriov_vf.h | 18 -- include/drm/drm_mm.h | 1 + 11 files changed, 261 insertions(+), 559 deletions(-) delete mode 100644 drivers/gpu/drm/xe/xe_tile_sriov_vf.c delete mode 100644 drivers/gpu/drm/xe/xe_tile_sriov_vf.h -- 2.45.2