mbox series

[0/3] drm, drm/amd, drm/radeon: Introduce a generic suballocator

Message ID 20230216144847.216259-1-thomas.hellstrom@linux.intel.com (mailing list archive)
Headers show
Series drm, drm/amd, drm/radeon: Introduce a generic suballocator | expand

Message

Thomas Hellstrom Feb. 16, 2023, 2:48 p.m. UTC
This series (or at least the suballocator helper) is a prerequisite
for the new Xe driver.

A variant of the series has been on review before, making the
suballocator used by the amdgpu driver the generic one. However we
ran into a number of issues on Xe when using it for context-less
allocations, hence the comlplete rewrite with simplification in
mind. More specifics in the patch commit message and in the code.

There was an unresolved issue when the series was last up for review,
and that was the per allocation aligment. Last message was from
Maarten Lankhorst arguing that the larger per-driver alignment used
would only incur a small memory cost. It would be good to have that
resolved.

The generic suballocator has been extensively tested with the Xe driver.
The amd- and radeon adaptations are only compile-tested.


Maarten Lankhorst (2):
  drm/amd: Convert amdgpu to use suballocation helper.
  drm/radeon: Use the drm suballocation manager implementation.

Thomas Hellström (1):
  drm/suballoc: Introduce a generic suballocation manager

 drivers/gpu/drm/Kconfig                    |   5 +
 drivers/gpu/drm/Makefile                   |   3 +
 drivers/gpu/drm/amd/amdgpu/Kconfig         |   1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu.h        |  26 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c     |   5 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h |  23 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h   |   3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c     | 320 ++-------------------
 drivers/gpu/drm/drm_suballoc.c             | 301 +++++++++++++++++++
 drivers/gpu/drm/radeon/radeon.h            |  55 +---
 drivers/gpu/drm/radeon/radeon_ib.c         |  12 +-
 drivers/gpu/drm/radeon/radeon_object.h     |  25 +-
 drivers/gpu/drm/radeon/radeon_sa.c         | 314 ++------------------
 drivers/gpu/drm/radeon/radeon_semaphore.c  |   6 +-
 include/drm/drm_suballoc.h                 | 112 ++++++++
 15 files changed, 518 insertions(+), 693 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_suballoc.c
 create mode 100644 include/drm/drm_suballoc.h