[PATCH 2/7] drm/fb-helper: Add hint to enable VT switching during suspend/resume
Thomas Zimmermann
tzimmermann at suse.de
Thu Nov 12 13:21:12 UTC 2020
Switching VTs during suspend/resume is required to reliably run radeon
with generic fbdev emulation.
Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
---
drivers/gpu/drm/drm_fb_helper.c | 8 +++++---
include/drm/drm_mode_config.h | 7 +++++++
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index d2ba404a23b3..987cd781e62c 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -508,11 +508,11 @@ EXPORT_SYMBOL(drm_fb_helper_init);
*/
struct fb_info *drm_fb_helper_alloc_fbi(struct drm_fb_helper *fb_helper)
{
- struct device *dev = fb_helper->dev->dev;
+ struct drm_device *dev = fb_helper->dev;
struct fb_info *info;
int ret;
- info = framebuffer_alloc(0, dev);
+ info = framebuffer_alloc(0, dev->dev);
if (!info)
return ERR_PTR(-ENOMEM);
@@ -535,7 +535,9 @@ struct fb_info *drm_fb_helper_alloc_fbi(struct drm_fb_helper *fb_helper)
}
fb_helper->fbdev = info;
- info->skip_vt_switch = true;
+
+ if (!dev->mode_config.require_vt_switch_fbdev)
+ info->skip_vt_switch = true;
return info;
diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h
index ab424ddd7665..59e0796c6928 100644
--- a/include/drm/drm_mode_config.h
+++ b/include/drm/drm_mode_config.h
@@ -877,6 +877,13 @@ struct drm_mode_config {
*/
bool prefer_shadow_fbdev;
+ /**
+ * @require_vt_switch_fbdev:
+ *
+ * Hint to framebuffer emulation to enable VT switching on suspend/resume.
+ */
+ bool require_vt_switch_fbdev;
+
/**
* @quirk_addfb_prefer_xbgr_30bpp:
*
--
2.29.2
More information about the dri-devel
mailing list