Re: [PATCH 0/5] drm: Remove remaining support for kdb

Maarten Lankhorst
2025-11-25T16:25:21Z

Hey,

I'm glad to see the old kdb handler gone.

Could we perhaps extend the drm panic handler somehow for this to work?
Restore could potentially be simply duplicating and committing the current state.

Kind regards,
~Maarten Lankhorst

Den 2025-11-25 kl. 13:52, skrev Thomas Zimmermann:
> Remove the rest of the kbd support from DRM. Driver support has been
> broken for years without anyone complaining.
>
> Kdb cannot use regular DRM mode setting, so DRM drivers have to
> implement an additional hook to make it work (in theory). As outlined
> by Sima in commit 9c79e0b1d096 ("drm/fb-helper: Give up on kgdb for
> atomic drivers") from 2017, kdb is not compatible with DRM atomic mode
> setting. Non-atomic mode setting meanwhile has become rare.
>
> Only 3 DRM drivers implement the hooks for kdb support. Amdgpu and
> nouveau use non-atomic mode setting on older devices. But both drivers
> have switched to generic fbdev emulation, which isn't compatible with
> kdb. Radeon still runs kdb, but it doesn't work in practice. See the
> commits in this series for details
>
> Therefore remove the remaining support for kdb from the DRM drivers
> and from DRM fbdev emulation. Also remove the hooks from fbdev, as
> there are no fbdev drivers with kdb support.
>
> If we ever want to address kdb support within DRM drivers, a place to
> start would be the scanout buffers used by DRM's panic screen. These
> use the current display mode. They can be written and flushed without
> mode setting involved.
>
> Note: kdb over serial lines is not affected by this series and continues
> to work as before.
>
> Thomas Zimmermann (5):
> drm/amdgpu: Do not implement mode_set_base_atomic callback
> drm/nouveau: Do not implement mode_set_base_atomic callback
> drm/radeon: Do not implement mode_set_base_atomic callback
> drm/fbdev-helper: Remove drm_fb_helper_debug_enter/_leave()
> fbcon: Remove fb_debug_enter/_leave from struct fb_ops
>
> Documentation/process/debugging/kgdb.rst | 28 -----
> drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 35 ++-----
> drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 35 ++-----
> drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 35 ++-----
> drivers/gpu/drm/drm_fb_helper.c | 108 --------------------
> drivers/gpu/drm/nouveau/dispnv04/crtc.c | 24 +----
> drivers/gpu/drm/radeon/atombios_crtc.c | 74 ++++----------
> drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 23 ++---
> drivers/gpu/drm/radeon/radeon_mode.h | 10 +-
> drivers/video/fbdev/core/fbcon.c | 24 -----
> drivers/video/fbdev/core/fbcon.h | 1 -
> include/drm/drm_fb_helper.h | 21 ----
> include/drm/drm_modeset_helper_vtables.h | 23 -----
> include/linux/fb.h | 4 -
> 14 files changed, 63 insertions(+), 382 deletions(-)
>
>
> base-commit: 0a21e96e0b6840d2a4e0b45a957679eeddeb4362