mirror-linux/drivers/gpu/drm
Joel Fernandes ba110db8e1 gpu: Move DRM buddy allocator one level up (part two)
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.

Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
[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 <airlied@redhat.com>
2026-02-06 11:38:35 +10:00
..
adp drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
amd gpu: Move DRM buddy allocator one level up (part two) 2026-02-06 11:38:35 +10:00
arm drm/komeda: fix integer overflow in AFBC framebuffer size check 2026-02-05 14:10:42 +00:00
armada drm/fb-helper: Allocate and release fb_info in single place 2025-11-25 11:02:43 +01:00
aspeed
ast drm-misc-next for 6.19: 2025-12-26 18:15:33 +10:00
atmel-hlcdc drm/atmel-hlcdc: don't reject the commit if the src rect has fractional parts 2026-01-21 09:28:09 +05:30
bridge Merge drm/drm-next into drm-misc-next 2026-02-05 10:33:06 +01:00
ci drm/ci: ignore Gamma test failures on Qualcomm SC7180 2026-01-22 01:22:47 +02:00
clients drm/log: avoid WARN when searching for usable format 2025-12-19 23:06:41 +01:00
display Merge drm/drm-next into drm-misc-next 2026-02-05 10:33:06 +01:00
etnaviv drm/etnaviv: Add module parameter to force PPU flop reset 2026-01-06 16:43:19 +01:00
exynos drm/exynos: vidi: use ctx->lock to protect struct vidi_context member variables related to memory alloc/free 2026-02-01 23:28:01 +09:00
fsl-dcu drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
gma500 drm/fb-helper: Allocate and release fb_info in single place 2025-11-25 11:02:43 +01:00
gud drm/gud: fix NULL fb and crtc dereferences on USB disconnect 2026-01-13 13:58:24 +00:00
hisilicon drm/hisilicon/hibmc: Adding reset colorbar cfg in dp init. 2026-01-20 10:53:14 +02:00
hyperv drm/hyperv: move Kconfig under driver directory 2025-12-10 11:02:53 +02:00
i915 gpu: Move DRM buddy allocator one level up (part two) 2026-02-06 11:38:35 +10:00
imagination Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
imx drm/imx/dw-hdmi: convert to of_drm_find_and_get_bridge() 2026-01-21 13:59:56 +01:00
ingenic
kmb drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
lima drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
logicvc
loongson drm/ttm: Replace multiple booleans with flags in device init 2025-10-31 09:14:35 +00:00
mcde drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
mediatek Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
meson drm/meson/dw-hdmi: convert to of_drm_find_and_get_bridge() 2026-01-21 13:59:56 +01:00
mgag200 drm fixes for 6.19-rc1 2025-12-13 17:39:28 +12:00
msm Merge tag 'drm-msm-next-2026-01-23' of https://gitlab.freedesktop.org/drm/msm into drm-next 2026-01-28 13:06:39 +10:00
mxsfb drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
nouveau Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
nova drm/nova: Align GEM memory allocation to system page size 2025-12-29 15:43:20 +01:00
omapdrm drm/bridge: add connector argument to .hpd_notify callback 2025-12-25 00:22:13 +02:00
panel Merge drm/drm-next into drm-misc-next 2026-02-05 10:33:06 +01:00
panfrost drm/panfrost: Fix a page leak in panfrost_mmu_map_fault_addr() when THP is on 2026-01-09 16:29:30 +00:00
panthor Merge drm/drm-next into drm-misc-next 2026-02-05 10:33:06 +01:00
pl111 Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
qxl dma-buf: add dma_fence_was_initialized function v2 2026-02-05 11:02:56 +01:00
radeon drm/radeon: convert VCE logging to drm_* helpers 2026-01-20 17:28:06 -05:00
renesas drm/rcar-du: dsi: Clean up VCLK divider calculation 2026-01-27 12:13:09 +02:00
rockchip Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
scheduler Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01:00
sitronix drm: Add driver for Sitronix ST7920 LCD displays 2025-12-15 18:25:09 +01:00
solomon drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
sprd
sti drm-next for 6.19-rc1: 2025-12-04 08:53:30 -08:00
stm drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
sun4i drm/display: hdmi_state_helper: split InfoFrame functions per type 2026-01-19 13:11:46 +02:00
sysfb drm/sysfb: Remove duplicate declarations 2026-01-14 11:03:56 +01:00
tegra drm/tegra: dsi: fix device leak on probe 2026-01-14 15:23:17 +01:00
tests gpu: Move DRM buddy allocator one level up (part one) 2026-02-06 11:34:02 +10:00
tidss drm/tidss: Fix enable/disable order 2026-01-03 20:08:24 +01:00
tilcdc drm fixes for 6.19-rc1 2025-12-13 17:39:28 +12:00
tiny drm/arcpgu: convert to of_drm_find_and_get_bridge() 2025-12-30 10:11:33 +01:00
ttm gpu: Move DRM buddy allocator one level up (part two) 2026-02-06 11:38:35 +10:00
tve200 drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
tyr DRM Rust changes for v7.0-rc1 2026-01-28 13:35:23 +10:00
udl drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
v3d drm/v3d: Replace IDR with XArray for perfmon tracking 2026-02-02 07:54:43 -03:00
vboxvideo drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
vc4 drm/vc4: Replace IDR with XArray for perfmon tracking 2026-02-02 07:54:49 -03:00
verisilicon drm: verisilicon: add a driver for Verisilicon display controllers 2026-02-05 09:50:28 +01:00
vgem drm/vgem: move Kconfig under driver directory 2025-12-10 11:02:53 +02:00
virtio dma-buf: Rename .move_notify() callback to a clearer identifier 2026-01-27 10:43:55 +01:00
vkms Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
vmwgfx drm/vmwgfx: Fix kernel-doc warnings for vmwgfx_fence 2026-01-07 12:31:21 -05:00
xe gpu: Move DRM buddy allocator one level up (part two) 2026-02-06 11:38:35 +10:00
xen drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
xlnx
Kconfig gpu: Move DRM buddy allocator one level up (part two) 2026-02-06 11:38:35 +10:00
Kconfig.debug gpu: Move DRM buddy allocator one level up (part one) 2026-02-06 11:34:02 +10:00
Makefile gpu: Move DRM buddy allocator one level up (part two) 2026-02-06 11:38:35 +10:00
drm_atomic.c drm/atomic: convert drm_atomic_get_{old, new}_colorop_state() into proper functions 2025-12-22 15:37:26 +02:00
drm_atomic_helper.c Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
drm_atomic_state_helper.c drm/plane: Add COLOR PIPELINE property 2025-11-26 23:03:32 +01:00
drm_atomic_uapi.c drm/atomic: verify that gamma/degamma LUTs are not too big 2026-01-14 02:18:31 +02:00
drm_auth.c
drm_blend.c
drm_bridge.c drm/bridge: fix kdoc syntax 2026-01-21 18:02:28 +01:00
drm_bridge_helper.c
drm_buddy.c gpu: Move DRM buddy allocator one level up (part two) 2026-02-06 11:38:35 +10:00
drm_cache.c
drm_client.c drm/client: Support emergency restore via sysrq for all clients 2025-11-25 08:43:47 +01:00
drm_client_event.c drm/client: Pass force parameter to client restore 2025-11-25 08:43:46 +01:00
drm_client_modeset.c
drm_client_sysrq.c drm/client: Support emergency restore via sysrq for all clients 2025-11-25 08:43:47 +01:00
drm_color_mgmt.c drm: Add Enhanced LUT precision structure 2025-11-26 23:03:35 +01:00
drm_colorop.c drm/colorop: Add DRM_COLOROP_1D_CURVE_GAMMA22 to 1D Curve 2025-11-26 23:09:44 +01:00
drm_connector.c drm/connector: Add a new 'panel_type' property 2026-01-27 12:57:24 -06:00
drm_crtc.c drm/drm_crtc: Introduce sharpness strength property 2025-10-30 15:38:04 +02:00
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h drm/colorop: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE 2025-11-26 23:03:32 +01:00
drm_damage_helper.c
drm_debugfs.c drm/debug: don't register files for unsupported HDMI InfoFrames 2026-01-19 13:11:47 +02:00
drm_debugfs_crc.c
drm_displayid.c drm/displayid: add quirk to ignore DisplayID checksum errors 2025-11-04 14:49:30 +02:00
drm_displayid_internal.h drm/displayid: add quirk to ignore DisplayID checksum errors 2025-11-04 14:49:30 +02:00
drm_draw.c drm/draw: add drm_draw_can_convert_from_xrgb8888 2025-12-19 23:06:41 +01:00
drm_draw_internal.h drm/draw: add drm_draw_can_convert_from_xrgb8888 2025-12-19 23:06:41 +01:00
drm_drv.c drm/client: Support emergency restore via sysrq for all clients 2025-11-25 08:43:47 +01:00
drm_dumb_buffers.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
drm_edid.c drm/edid: add 6 bpc quirk to the Sharp LQ116M1JW10 2025-11-06 08:51:21 -08:00
drm_edid_load.c
drm_eld.c
drm_encoder.c
drm_exec.c
drm_fb_dma_helper.c
drm_fb_helper.c Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
drm_fbdev_dma.c drm/fb-helper: Allocate and release fb_info in single place 2025-11-25 11:02:43 +01:00
drm_fbdev_shmem.c drm/fb-helper: Allocate and release fb_info in single place 2025-11-25 11:02:43 +01:00
drm_fbdev_ttm.c drm/fb-helper: Allocate and release fb_info in single place 2025-11-25 11:02:43 +01:00
drm_file.c drm/client: Pass force parameter to client restore 2025-11-25 08:43:46 +01:00
drm_flip_work.c
drm_format_helper.c
drm_format_internal.h
drm_fourcc.c
drm_framebuffer.c
drm_gem.c drm-misc-next for 6.20: 2026-01-16 11:04:03 +10:00
drm_gem_atomic_helper.c Linux 6.18-rc6 2025-11-21 08:55:08 +10:00
drm_gem_dma_helper.c drm/gem-dma: revert the 8-byte alignment constraint 2025-12-03 10:52:18 +01:00
drm_gem_framebuffer_helper.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
drm_gem_shmem_helper.c Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
drm_gem_ttm_helper.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
drm_gem_vram_helper.c drm/ttm: Replace multiple booleans with flags in device init 2025-10-31 09:14:35 +00:00
drm_gpusvm.c drm/gpusvm: Introduce a function to scan the current migration state 2025-12-23 10:00:48 +01:00
drm_gpuvm.c Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
drm_internal.h drm/client: Support emergency restore via sysrq for all clients 2025-11-25 08:43:47 +01:00
drm_ioc32.c
drm_ioctl.c drm/colorop: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE 2025-11-26 23:03:32 +01:00
drm_kms_helper_common.c
drm_lease.c
drm_managed.c
drm_mipi_dbi.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
drm_mipi_dsi.c
drm_mm.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
drm_mode_config.c drm/colorop: Introduce new drm_colorop mode object 2025-11-26 23:03:30 +01:00
drm_mode_object.c drm/mode_object: add drm_object_immutable_property_get_value() 2026-01-14 02:18:31 +02:00
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_pagemap.c drm/pagemap: Disable device-to-device migration 2026-01-07 21:29:40 -08:00
drm_pagemap_util.c drm/pagemap_util: Add a utility to assign an owner to a set of interconnected gpus 2025-12-23 10:00:47 +01:00
drm_panel.c
drm_panel_backlight_quirks.c
drm_panel_orientation_quirks.c
drm_panic.c drm/panic: Fix expected string for QR_CODE in drm_panic_type_map 2026-01-09 08:53:27 +00:00
drm_panic_qr.rs
drm_pci.c
drm_plane.c drm-misc-next for 6.19: 2025-12-26 18:15:33 +10:00
drm_plane_helper.c
drm_prime.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
drm_print.c
drm_privacy_screen.c
drm_privacy_screen_x86.c
drm_probe_helper.c
drm_property.c drm: Account property blob allocations to memcg 2026-01-16 11:22:03 +01:00
drm_rect.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_suballoc.c
drm_syncobj.c drm/syncobj: Convert syncobj idr to xarray 2025-12-18 09:05:30 +00:00
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c drm-misc-next for 6.19: 2025-12-26 18:15:33 +10:00
drm_vblank_helper.c
drm_vblank_work.c drm/vblank: use drm_crtc_vblank_crtc() in workers 2025-11-10 13:22:58 +02:00
drm_vma_manager.c
drm_writeback.c