svn commit: r268772 - head/sys/dev/vt/hw/efifb
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Wed Jul 16 18:52:22 UTC 2014
Author: nwhitehorn
Date: Wed Jul 16 18:52:21 2014
New Revision: 268772
URL: http://svnweb.freebsd.org/changeset/base/268772
Log:
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.
Modified:
head/sys/dev/vt/hw/efifb/efifb.c
Modified: head/sys/dev/vt/hw/efifb/efifb.c
==============================================================================
--- head/sys/dev/vt/hw/efifb/efifb.c Wed Jul 16 18:49:46 2014 (r268771)
+++ head/sys/dev/vt/hw/efifb/efifb.c Wed Jul 16 18:52:21 2014 (r268772)
@@ -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;
More information about the svn-src-head
mailing list