mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 07:33:19 +02:00
drm/log: Implement suspend/resume
Normally the console is already suspended when the graphic driver suspend callback is called, but if the parameter no_console_suspend is set, it might still be active. So call console_stop()/console_start() in the suspend/resume callbacks, to make sure it won't try to write to the framebuffer while the graphic driver is suspended. Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com> Reviewed-by: John Ogness <john.ogness@linutronix.de> Acked-by: Petr Mladek <pmladek@suse.com> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/20241204160014.1171469-6-jfalempe@redhat.com
This commit is contained in:
parent
25e2c2a3ef
commit
cd41b4489c
|
|
@ -310,10 +310,30 @@ static int drm_log_client_hotplug(struct drm_client_dev *client)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int drm_log_client_suspend(struct drm_client_dev *client, bool _console_lock)
|
||||
{
|
||||
struct drm_log *dlog = client_to_drm_log(client);
|
||||
|
||||
console_stop(&dlog->con);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int drm_log_client_resume(struct drm_client_dev *client, bool _console_lock)
|
||||
{
|
||||
struct drm_log *dlog = client_to_drm_log(client);
|
||||
|
||||
console_start(&dlog->con);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct drm_client_funcs drm_log_client_funcs = {
|
||||
.owner = THIS_MODULE,
|
||||
.unregister = drm_log_client_unregister,
|
||||
.hotplug = drm_log_client_hotplug,
|
||||
.suspend = drm_log_client_suspend,
|
||||
.resume = drm_log_client_resume,
|
||||
};
|
||||
|
||||
static void drm_log_write_thread(struct console *con, struct nbcon_write_context *wctxt)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user