linux/include/drm
Thomas Zimmermann 6915190a50 drm/client: Support emergency restore via sysrq for all clients
Move the sysrq functionality from DRM fbdev helpers to the DRM device
and in-kernel clients, so that it becomes available on all clients.

DRM fbdev helpers support emergency restoration of the console output
via a special key combination. Press SysRq+v to replace the current
compositor with the kernel's output on the framebuffer console. This
allows users to see the log messages during system emergencies.

By moving the functionality from fbdev helpers to the DRM device, any
in-kernel client can serve as emergency output. This can be used to
bring up drm_log, for example.

Each DRM device registers itself to the list of possible sysrq handlers.
On receiving SysRq+v, the DRM core goes over all registered devices and
restores an in-kernel DRM client for each of them.

See Documentation/admin-guide/sysrq.rst on how to invoke SysRq. Switch
VTs to bring back the user-space compositor.

v2:
- declare placeholders as 'static inline' (kernel test robot)
- fix grammar in commit description

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patch.msgid.link/20251110154616.539328-3-tzimmermann@suse.de
2025-11-25 08:43:47 +01:00
..
amd
bridge drm/bridge: dw-hdmi-qp: Handle platform supported formats and color depth 2025-11-14 23:10:34 +01:00
clients
display Merge tag 'drm-intel-next-2025-11-04' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next 2025-11-07 09:47:56 +10:00
intel Merge tag 'drm-intel-next-2025-11-04' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next 2025-11-07 09:47:56 +10:00
ttm drm/ttm: Fix @alloc_flags description 2025-11-06 10:35:47 +00:00
Makefile
amd_asic_type.h
drm_accel.h
drm_atomic.h drm/atomic: WARN about invalid drm_foo_get_state() usage 2025-10-28 21:45:14 +02:00
drm_atomic_helper.h
drm_atomic_state_helper.h
drm_atomic_uapi.h
drm_audio_component.h
drm_auth.h
drm_blend.h
drm_bridge.h drm/bridge: get the bridge returned by drm_bridge_get_next_bridge() 2025-09-16 15:22:41 +02:00
drm_bridge_connector.h
drm_bridge_helper.h
drm_buddy.h drm/buddy: replace drm_print.h include with a forward declaration 2025-10-31 10:34:55 +02:00
drm_cache.h
drm_client.h drm/client: Pass force parameter to client restore 2025-11-25 08:43:46 +01:00
drm_client_event.h drm/client: Pass force parameter to client restore 2025-11-25 08:43:46 +01:00
drm_color_mgmt.h
drm_connector.h
drm_crtc.h Merge tag 'drm-intel-next-2025-11-04' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next 2025-11-07 09:47:56 +10:00
drm_crtc_helper.h
drm_damage_helper.h
drm_debugfs.h
drm_debugfs_crc.h
drm_device.h drm/client: Support emergency restore via sysrq for all clients 2025-11-25 08:43:47 +01:00
drm_drv.h
drm_dumb_buffers.h drm/dumb-buffers: Provide helper to set pitch and size 2025-09-29 13:57:43 +02:00
drm_edid.h drm/edid: add DRM_EDID_IDENT_INIT() to initialize struct drm_edid_ident 2025-11-04 14:49:21 +02:00
drm_eld.h
drm_encoder.h
drm_exec.h
drm_fb_dma_helper.h
drm_fb_helper.h drm/client: Pass force parameter to client restore 2025-11-25 08:43:46 +01:00
drm_fbdev_dma.h
drm_fbdev_shmem.h
drm_fbdev_ttm.h
drm_file.h
drm_fixed.h
drm_flip_work.h
drm_format_helper.h drm/format-helper: Remove drm_fb_blit() 2025-09-23 15:06:06 +02:00
drm_fourcc.h
drm_framebuffer.h
drm_gem.h
drm_gem_atomic_helper.h
drm_gem_dma_helper.h
drm_gem_framebuffer_helper.h
drm_gem_shmem_helper.h drm/gem/shmem: Extract drm_gem_shmem_release() from drm_gem_shmem_free() 2025-09-12 19:04:37 -04:00
drm_gem_ttm_helper.h
drm_gem_vram_helper.h
drm_gpusvm.h drm/gpusvm, drm/xe: Allow mixed mappings for userptr 2025-10-17 10:25:27 +02:00
drm_gpuvm.h drm/gpuvm: Fix kernel-doc warning for drm_gpuvm_map_req.map 2025-10-15 18:37:05 +02:00
drm_ioctl.h
drm_kunit_helpers.h
drm_lease.h
drm_managed.h
drm_mipi_dbi.h
drm_mipi_dsi.h
drm_mm.h drm/mm: replace drm_print.h include with a forward declaration 2025-10-31 10:34:56 +02:00
drm_mode_config.h
drm_mode_object.h
drm_modes.h
drm_modeset_helper.h
drm_modeset_helper_vtables.h drm/vblank: Add vblank timer 2025-10-01 08:31:59 +02:00
drm_modeset_lock.h
drm_module.h
drm_of.h
drm_pagemap.h
drm_panel.h
drm_panic.h
drm_pciids.h
drm_plane.h
drm_plane_helper.h
drm_prime.h
drm_print.h
drm_privacy_screen_consumer.h
drm_privacy_screen_driver.h
drm_privacy_screen_machine.h
drm_probe_helper.h
drm_property.h
drm_rect.h
drm_self_refresh_helper.h
drm_simple_kms_helper.h
drm_suballoc.h
drm_syncobj.h
drm_sysfs.h
drm_util.h
drm_utils.h
drm_vblank.h drm/vblank: Add vblank timer 2025-10-01 08:31:59 +02:00
drm_vblank_helper.h drm/vblank: Add CRTC helpers for simple use cases 2025-10-01 08:32:00 +02:00
drm_vblank_work.h
drm_vma_manager.h
drm_writeback.h
gpu_scheduler.h drm/sched: backend_ops doc fix 2025-09-17 14:58:33 +02:00
gud.h
spsc_queue.h
task_barrier.h