[PATCH 0/3] drm/client: Wire up sysrq for all clients and update drm_log

Thomas Zimmermann posted 3 patches 1 month, 1 week ago
There is a newer version of this series
drivers/gpu/drm/Makefile                   |  3 +-
drivers/gpu/drm/clients/drm_fbdev_client.c |  6 +-
drivers/gpu/drm/clients/drm_log.c          | 13 ++++
drivers/gpu/drm/drm_client.c               |  1 +
drivers/gpu/drm/drm_client_event.c         |  4 +-
drivers/gpu/drm/drm_client_sysrq.c         | 65 ++++++++++++++++++++
drivers/gpu/drm/drm_drv.c                  |  3 +
drivers/gpu/drm/drm_fb_helper.c            | 69 +++-------------------
drivers/gpu/drm/drm_file.c                 |  2 +-
drivers/gpu/drm/drm_internal.h             | 11 ++++
include/drm/drm_client.h                   |  8 ++-
include/drm/drm_client_event.h             |  4 +-
include/drm/drm_device.h                   |  8 +++
include/drm/drm_fb_helper.h                |  8 +--
14 files changed, 126 insertions(+), 79 deletions(-)
create mode 100644 drivers/gpu/drm/drm_client_sysrq.c
[PATCH 0/3] drm/client: Wire up sysrq for all clients and update drm_log
Posted by Thomas Zimmermann 1 month, 1 week ago
DRM's fbdev emulation has long supported SysRq+v to bring up the
framebuffer console for emergency output. Wire up sysrq for all
DRM clients and make it work with drm_log.

Patch 1 and 2 set up DRM client functionality for sysrq. The patches
adopt existing conventions from fbdev emulation, so that there's no
visible change to users. Invoke SysRq+v to bring up the in-kernel DRM
client.

Patch 3 adds restore functionality to drm_log. This enables SysRq, but
also brings back drm_log when the user-space releases control of the
display.

Tested on amdgpu and bochs.

Thomas Zimmermann (3):
  drm/client: Pass force parameter to client restore
  drm/client: Support emergency restore via sysrq for all clients
  drm/client: log: Implement struct drm_client_funcs.restore

 drivers/gpu/drm/Makefile                   |  3 +-
 drivers/gpu/drm/clients/drm_fbdev_client.c |  6 +-
 drivers/gpu/drm/clients/drm_log.c          | 13 ++++
 drivers/gpu/drm/drm_client.c               |  1 +
 drivers/gpu/drm/drm_client_event.c         |  4 +-
 drivers/gpu/drm/drm_client_sysrq.c         | 65 ++++++++++++++++++++
 drivers/gpu/drm/drm_drv.c                  |  3 +
 drivers/gpu/drm/drm_fb_helper.c            | 69 +++-------------------
 drivers/gpu/drm/drm_file.c                 |  2 +-
 drivers/gpu/drm/drm_internal.h             | 11 ++++
 include/drm/drm_client.h                   |  8 ++-
 include/drm/drm_client_event.h             |  4 +-
 include/drm/drm_device.h                   |  8 +++
 include/drm/drm_fb_helper.h                |  8 +--
 14 files changed, 126 insertions(+), 79 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_client_sysrq.c

-- 
2.51.1