On Thu Feb 19, 2026 at 5:55 AM JST, Joel Fernandes wrote:
> Move the DRM buddy allocator one level up so that it can be used by GPU
> drivers (example, nova-core) that have usecases other than DRM (such as
> VFIO vGPU support). Modify the API, structures and Kconfigs to use
> "gpu_buddy" terminology. Adapt the drivers and tests to use the new API.
>
> The commit cannot be split due to bisectability, however no functional
> change is intended. Verified by running K-UNIT tests and build tested
> various configurations.

Patches 1 and 2 have the exact same commit log, but each one does only
part of it. Let's only keep the part of the log that applies to each
patch.

>
> Signed-off-by: Joel Fernandes <[email protected]>
> Reviewed-by: Dave Airlie <[email protected]>
> [airlied: I've split this into two so git can find copies easier.
> I've also just nuked drm_random library, that stuff needs to be done
> elsewhere and only the buddy tests seem to be using it].
> Signed-off-by: Dave Airlie <[email protected]>
> ---
>  Documentation/gpu/drm-mm.rst                  |   6 +
>  MAINTAINERS                                   |   8 +-
>  drivers/gpu/Kconfig                           |  13 +
>  drivers/gpu/Makefile                          |   1 +
>  drivers/gpu/buddy.c                           | 556 +++++++++---------
>  drivers/gpu/drm/Kconfig                       |   1 +
>  drivers/gpu/drm/Makefile                      |   2 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c       |   2 +-
>  .../gpu/drm/amd/amdgpu/amdgpu_res_cursor.h    |  12 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c  |  79 +--
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.h  |  18 +-
>  drivers/gpu/drm/drm_buddy.c                   |  77 +++
>  drivers/gpu/drm/i915/i915_scatterlist.c       |   8 +-
>  drivers/gpu/drm/i915/i915_ttm_buddy_manager.c |  55 +-
>  drivers/gpu/drm/i915/i915_ttm_buddy_manager.h |   4 +-
>  .../drm/i915/selftests/intel_memory_region.c  |  20 +-
>  .../gpu/drm/ttm/tests/ttm_bo_validate_test.c  |   4 +-
>  drivers/gpu/drm/ttm/tests/ttm_mock_manager.c  |  18 +-
>  drivers/gpu/drm/ttm/tests/ttm_mock_manager.h  |   2 +-
>  drivers/gpu/drm/xe/xe_res_cursor.h            |  34 +-
>  drivers/gpu/drm/xe/xe_svm.c                   |  12 +-
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr.c          |  71 +--
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h    |   2 +-
>  drivers/gpu/tests/Makefile                    |   2 +-
>  drivers/gpu/tests/gpu_buddy_test.c            | 412 ++++++-------
>  drivers/gpu/tests/gpu_random.c                |  16 +-
>  drivers/gpu/tests/gpu_random.h                |  18 +-
>  drivers/video/Kconfig                         |   1 +
>  include/drm/drm_buddy.h                       |  18 +
>  include/linux/gpu_buddy.h                     | 120 ++--
>  30 files changed, 853 insertions(+), 739 deletions(-)
>  create mode 100644 drivers/gpu/Kconfig
>  create mode 100644 drivers/gpu/drm/drm_buddy.c
>  create mode 100644 include/drm/drm_buddy.h
>
> diff --git a/Documentation/gpu/drm-mm.rst b/Documentation/gpu/drm-mm.rst
> index ceee0e663237..32fb506db05b 100644
> --- a/Documentation/gpu/drm-mm.rst
> +++ b/Documentation/gpu/drm-mm.rst
> @@ -532,6 +532,12 @@ Buddy Allocator Function References (GPU buddy)
>  .. kernel-doc:: drivers/gpu/buddy.c
>     :export:
>  
> +DRM Buddy Specific Logging Function References
> +----------------------------------------------
> +
> +.. kernel-doc:: drivers/gpu/drm/drm_buddy.c
> +   :export:
> +
>  DRM Cache Handling and Fast WC memcpy()
>  =======================================
>  
> diff --git a/MAINTAINERS b/MAINTAINERS
> index dc82a6bd1a61..14b4f9af0e36 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -8905,15 +8905,17 @@ T:    git 
> https://gitlab.freedesktop.org/drm/misc/kernel.git
>  F:   drivers/gpu/drm/ttm/
>  F:   include/drm/ttm/
>  
> -DRM BUDDY ALLOCATOR
> +GPU BUDDY ALLOCATOR
>  M:   Matthew Auld <[email protected]>
>  M:   Arun Pravin <[email protected]>
>  R:   Christian Koenig <[email protected]>
>  L:   [email protected]
>  S:   Maintained
>  T:   git https://gitlab.freedesktop.org/drm/misc/kernel.git
> -F:   drivers/gpu/drm/drm_buddy.c
> -F:   drivers/gpu/drm/tests/drm_buddy_test.c
> +F:   drivers/gpu/drm_buddy.c

This line should be `drivers/gpu/drm/drm_buddy.c`.

> +F:   drivers/gpu/buddy.c
> +F:   drivers/gpu/tests/gpu_buddy_test.c
> +F:   include/linux/gpu_buddy.h

These files have been moved in patch 1, so their MAINTAINERS entry
should also be modified there.

Reply via email to