mirror-linux/drivers/gpu/drm
Thomas Zimmermann 3f41307d58 drm/tests: shmem: Hold reservation lock around purge
Acquire and release the GEM object's reservation lock around calls
to the object's purge operation. The tests use
drm_gem_shmem_purge_locked(), which led to errors such as show below.

[   58.709128] WARNING: CPU: 1 PID: 1354 at drivers/gpu/drm/drm_gem_shmem_helper.c:515 drm_gem_shmem_purge_locked+0x51c/0x740

Only export the new helper drm_gem_shmem_purge() for Kunit tests.
This is not an interface for regular drivers.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 954907f714 ("drm/shmem-helper: Refactor locked/unlocked functions")
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v6.16+
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://patch.msgid.link/20251212160317.287409-6-tzimmermann@suse.de
2025-12-21 18:21:36 +01:00
..
adp drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
amd Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01:00
arm drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
armada drm/fb-helper: Allocate and release fb_info in single place 2025-11-25 11:02:43 +01:00
aspeed
ast Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01:00
atmel-hlcdc drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
bridge Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01:00
ci drm/ci: disable broken MR check in sanity job 2025-10-16 07:49:06 -07:00
clients drm/log: avoid WARN when searching for usable format 2025-12-19 23:06:41 +01:00
display drm/display/dp_mst: Add protection against 0 vcpi 2025-11-28 11:25:20 +05:30
etnaviv Linux 6.18-rc6 2025-11-21 08:55:08 +10:00
exynos drm/fb-helper: Allocate and release fb_info in single place 2025-11-25 11:02:43 +01: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: rearrange gud_probe() to prepare for function splitting 2025-10-24 19:36:45 +01:00
hisilicon drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
hyperv drm/hyperv: move Kconfig under driver directory 2025-12-10 11:02:53 +02:00
i915 Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01:00
imagination drm-next for 6.19-rc1: 2025-12-04 08:53:30 -08:00
imx Linux 6.18-rc6 2025-11-21 08:55:08 +10:00
ingenic drm/ingenic: crtc: Switch to ingenic_drm_get_new_priv_state() 2025-10-06 13:59:22 +02:00
kmb drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
lib
lima drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
logicvc drm/logicvc: Switch to drm_atomic_get_new_crtc_state() 2025-10-06 13:59:15 +02:00
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 Mediatek DRM Next - 20251120 2025-11-21 18:48:28 +10:00
meson drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
mgag200 drm fixes for 6.19-rc1 2025-12-13 17:39:28 +12:00
msm drm-next for 6.19-rc1: 2025-12-04 08:53:30 -08:00
mxsfb drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
nouveau Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01:00
nova Driver core changes for 6.19-rc1 2025-12-05 21:29:02 -08:00
omapdrm drm/fb-helper: Allocate and release fb_info in single place 2025-11-25 11:02:43 +01:00
panel drm/panel: simple: Add HannStar HSD156JUW2 2025-12-16 11:21:34 +01:00
panfrost drm/panfrost: Add GPU_PM_RT support for RZ/G3E SoC 2025-12-21 01:34:49 +00:00
panthor drm/panthor: Support partial unmaps of huge pages 2025-12-19 13:30:45 +01:00
pl111 drm: pl111: replace dev_* print functions with drm_* variants 2025-12-11 00:03:22 +01:00
qxl drm/ttm: Replace multiple booleans with flags in device init 2025-10-31 09:14:35 +00:00
radeon Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01:00
renesas drm: renesas: rz-du: mipi_dsi: Add support for RZ/V2H(P) SoC 2025-12-16 07:25:29 +00:00
rockchip drm/rockchip: hdmi: add RK3368 controller variant 2025-12-15 14:55:26 +01: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/sun4i: Nuke mixer pointer from layer code 2025-11-12 17:18:25 +08:00
sysfb drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
tegra drm-next for 6.19-rc1: 2025-12-04 08:53:30 -08:00
tests drm/tests: shmem: Hold reservation lock around purge 2025-12-21 18:21:36 +01:00
tidss drm/tidss: Move OLDI mode validation to OLDI bridge mode_valid hook 2025-11-12 11:54:39 +02:00
tilcdc drm fixes for 6.19-rc1 2025-12-13 17:39:28 +12:00
tiny Linux 6.18-rc6 2025-11-21 08:55:08 +10:00
ttm Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01:00
tve200 drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
tyr rust: driver: let probe() return impl PinInit<Self, Error> 2025-10-21 18:40:48 +02:00
udl drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
v3d drm/gem: Get rid of *_with_mnt helpers 2025-12-08 10:52:48 +01:00
vboxvideo drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
vc4 drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
vgem drm/vgem: move Kconfig under driver directory 2025-12-10 11:02:53 +02:00
virtio drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
vkms drm/colorop: allow non-bypass colorops 2025-11-26 23:09:17 +01:00
vmwgfx Linux 6.18-rc6 2025-11-21 08:55:08 +10:00
xe Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01:00
xen drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
xlnx drm/xlnx: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 17:50:54 +02:00
Kconfig drm/Kconfig: sort driver Kconfig source list 2025-12-10 11:02:53 +02:00
Kconfig.debug
Makefile drm-next for 6.19-rc1: 2025-12-04 08:53:30 -08:00
drm_atomic.c drm/atomic: Add dev pointer to drm_private_obj 2025-12-08 16:35:46 +01:00
drm_atomic_helper.c drm/colorop: Introduce new drm_colorop mode object 2025-11-26 23:03:30 +01: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/colorop: Add 3D LUT support to color pipeline 2025-11-26 23:09:42 +01:00
drm_auth.c
drm_blend.c
drm_bridge.c drm/bridge: add drm_bridge_unplug() and drm_bridge_enter/exit() 2025-12-11 11:28:43 +01:00
drm_bridge_helper.c
drm_buddy.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02: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/colorop: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE 2025-11-26 23:03:32 +01: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_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 Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01: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-helper: Remove drm_fb_blit() 2025-09-23 15:06:06 +02:00
drm_format_internal.h
drm_fourcc.c
drm_framebuffer.c drm/framebuffer: Switch to drm_atomic_get_new_crtc_state() 2025-10-06 13:59:21 +02:00
drm_gem.c drm/gem: fix build for mm_get_unmapped_area() call after backmerge 2025-12-15 12:22:37 +02: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 drm/tests: shmem: Hold reservation lock around purge 2025-12-21 18:21:36 +01: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, drm/xe: Allow mixed mappings for userptr 2025-10-17 10:25:27 +02:00
drm_gpuvm.c Cross-subsystem Changes: 2025-11-20 10:44:50 +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/colorop: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE 2025-11-26 23:03:32 +01:00
drm_modes.c
drm_modeset_helper.c drm/client: Remove holds_console_lock parameter from suspend/resume 2025-10-18 17:35:09 +02:00
drm_modeset_lock.c
drm_of.c
drm_pagemap.c mm/zone_device: rename page_free callback to folio_free 2025-11-24 15:08:47 -08:00
drm_panel.c
drm_panel_backlight_quirks.c
drm_panel_orientation_quirks.c
drm_panic.c drm/panic: avoid WARN when checking format support 2025-12-19 23:06:41 +01:00
drm_panic_qr.rs
drm_pci.c
drm_plane.c Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01: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_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 Merge drm/drm-next into drm-misc-next 2025-12-15 09:27:39 +01:00
drm_vblank_helper.c drm/vblank: Add CRTC helpers for simple use cases 2025-10-01 08:32:00 +02:00
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