diff options
Diffstat (limited to 'drivers/gpu/drm/drm_fb_helper.c')
-rw-r--r-- | drivers/gpu/drm/drm_fb_helper.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c index d2849e4ea4d0..6977a1ce9d98 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c | |||
@@ -985,6 +985,8 @@ void drm_fb_helper_fill_fix(struct fb_info *info, uint32_t pitch, | |||
985 | info->fix.type = FB_TYPE_PACKED_PIXELS; | 985 | info->fix.type = FB_TYPE_PACKED_PIXELS; |
986 | info->fix.visual = depth == 8 ? FB_VISUAL_PSEUDOCOLOR : | 986 | info->fix.visual = depth == 8 ? FB_VISUAL_PSEUDOCOLOR : |
987 | FB_VISUAL_TRUECOLOR; | 987 | FB_VISUAL_TRUECOLOR; |
988 | info->fix.mmio_start = 0; | ||
989 | info->fix.mmio_len = 0; | ||
988 | info->fix.type_aux = 0; | 990 | info->fix.type_aux = 0; |
989 | info->fix.xpanstep = 1; /* doing it in hw */ | 991 | info->fix.xpanstep = 1; /* doing it in hw */ |
990 | info->fix.ypanstep = 1; /* doing it in hw */ | 992 | info->fix.ypanstep = 1; /* doing it in hw */ |
@@ -1005,6 +1007,7 @@ void drm_fb_helper_fill_var(struct fb_info *info, struct drm_fb_helper *fb_helpe | |||
1005 | info->var.xres_virtual = fb->width; | 1007 | info->var.xres_virtual = fb->width; |
1006 | info->var.yres_virtual = fb->height; | 1008 | info->var.yres_virtual = fb->height; |
1007 | info->var.bits_per_pixel = fb->bits_per_pixel; | 1009 | info->var.bits_per_pixel = fb->bits_per_pixel; |
1010 | info->var.accel_flags = FB_ACCELF_TEXT; | ||
1008 | info->var.xoffset = 0; | 1011 | info->var.xoffset = 0; |
1009 | info->var.yoffset = 0; | 1012 | info->var.yoffset = 0; |
1010 | info->var.activate = FB_ACTIVATE_NOW; | 1013 | info->var.activate = FB_ACTIVATE_NOW; |
@@ -1530,3 +1533,24 @@ bool drm_fb_helper_hotplug_event(struct drm_fb_helper *fb_helper) | |||
1530 | } | 1533 | } |
1531 | EXPORT_SYMBOL(drm_fb_helper_hotplug_event); | 1534 | EXPORT_SYMBOL(drm_fb_helper_hotplug_event); |
1532 | 1535 | ||
1536 | /* The Kconfig DRM_KMS_HELPER selects FRAMEBUFFER_CONSOLE (if !EXPERT) | ||
1537 | * but the module doesn't depend on any fb console symbols. At least | ||
1538 | * attempt to load fbcon to avoid leaving the system without a usable console. | ||
1539 | */ | ||
1540 | #if defined(CONFIG_FRAMEBUFFER_CONSOLE_MODULE) && !defined(CONFIG_EXPERT) | ||
1541 | static int __init drm_fb_helper_modinit(void) | ||
1542 | { | ||
1543 | const char *name = "fbcon"; | ||
1544 | struct module *fbcon; | ||
1545 | |||
1546 | mutex_lock(&module_mutex); | ||
1547 | fbcon = find_module(name); | ||
1548 | mutex_unlock(&module_mutex); | ||
1549 | |||
1550 | if (!fbcon) | ||
1551 | request_module_nowait(name); | ||
1552 | return 0; | ||
1553 | } | ||
1554 | |||
1555 | module_init(drm_fb_helper_modinit); | ||
1556 | #endif | ||