Hi

Am 25.11.25 um 17:25 schrieb Maarten Lankhorst:
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.

Yeah, I briefly outlined this in the cover letter. If we wanted to support kdb, we could get the scanout buffer and use the buffer's simple display update for showing the debugger. I think this still requires quite some work, but would avoid all the issues with the current approach.

Best regards
Thomas


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

--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)


Reply via email to