summaryrefslogtreecommitdiffstats
path: root/sys/dev/vt
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2014-09-02 19:57:33 +0000
committeremaste <emaste@FreeBSD.org>2014-09-02 19:57:33 +0000
commit2903976d7cad88e1e77227d43621b90e495bf154 (patch)
treebeaf92d4a742ea72a57d0defbf8db527a4e0d2e9 /sys/dev/vt
parent4dbb542d9923f0c98d1625bcdd2470d5bc6b0149 (diff)
downloadFreeBSD-src-2903976d7cad88e1e77227d43621b90e495bf154.zip
FreeBSD-src-2903976d7cad88e1e77227d43621b90e495bf154.tar.gz
MFC r268772 by nwhitehorn:
Allow efifb to be used with xf86-video-scfb. This is important for EFI systems without either a CSM or real graphics drivers, such as my Lenovo Haswell laptop. This provides working X with the small complication of a console cursor permanently overlaid on the upper-left corner of the screen that will be dealt with later. Also remove some redundant screen clearing. Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/dev/vt')
-rw-r--r--sys/dev/vt/hw/efifb/efifb.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/dev/vt/hw/efifb/efifb.c b/sys/dev/vt/hw/efifb/efifb.c
index b3347f7..b6ea1db 100644
--- a/sys/dev/vt/hw/efifb/efifb.c
+++ b/sys/dev/vt/hw/efifb/efifb.c
@@ -62,6 +62,8 @@ static struct vt_driver vt_efifb_driver = {
.vd_blank = vt_fb_blank,
.vd_bitbltchr = vt_fb_bitbltchr,
.vd_maskbitbltchr = vt_fb_maskbitbltchr,
+ .vd_fb_ioctl = vt_fb_ioctl,
+ .vd_fb_mmap = vt_fb_mmap,
/* Better than VGA, but still generic driver. */
.vd_priority = VD_PRIORITY_GENERIC + 1,
};
@@ -97,7 +99,7 @@ vt_efifb_probe(struct vt_device *vd)
static int
vt_efifb_init(struct vt_device *vd)
{
- int depth, d, i, len;
+ int depth, d;
struct fb_info *info;
struct efi_fb *efifb;
caddr_t kmdp;
@@ -142,12 +144,6 @@ vt_efifb_init(struct vt_device *vd)
*/
info->fb_vbase = PHYS_TO_DMAP(efifb->fb_addr);
- /* blank full size */
- len = info->fb_size / 4;
- for (i = 0; i < len; i++) {
- ((uint32_t *)info->fb_vbase)[i] = 0;
- }
-
/* Get pixel storage size. */
info->fb_bpp = info->fb_stride / info->fb_width * 8;
OpenPOWER on IntegriCloud