Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 May 2018 04:15:33 +0000 (UTC)
From:      Nathan Whitehorn <nwhitehorn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r334372 - head/sys/dev/vt/hw/ofwfb
Message-ID:  <201805300415.w4U4FX1r081210@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: nwhitehorn
Date: Wed May 30 04:15:33 2018
New Revision: 334372
URL: https://svnweb.freebsd.org/changeset/base/334372

Log:
  If linebytes property is missing from the graphics device, assume no
  overscan and synthesize it from the display depth and screen width.
  This may not be right, but it sometimes right and is better than
  returning CN_DEAD.

Modified:
  head/sys/dev/vt/hw/ofwfb/ofwfb.c

Modified: head/sys/dev/vt/hw/ofwfb/ofwfb.c
==============================================================================
--- head/sys/dev/vt/hw/ofwfb/ofwfb.c	Wed May 30 04:12:51 2018	(r334371)
+++ head/sys/dev/vt/hw/ofwfb/ofwfb.c	Wed May 30 04:15:33 2018	(r334372)
@@ -394,8 +394,7 @@ ofwfb_init(struct vt_device *vd)
 	/* Make sure we have needed properties */
 	if (OF_getproplen(node, "height") != sizeof(height) ||
 	    OF_getproplen(node, "width") != sizeof(width) ||
-	    OF_getproplen(node, "depth") != sizeof(depth) ||
-	    OF_getproplen(node, "linebytes") != sizeof(sc->fb.fb_stride))
+	    OF_getproplen(node, "depth") != sizeof(depth))
 		return (CN_DEAD);
 
 	/* Only support 8 and 32-bit framebuffers */
@@ -406,7 +405,9 @@ ofwfb_init(struct vt_device *vd)
 
 	OF_getprop(node, "height", &height, sizeof(height));
 	OF_getprop(node, "width", &width, sizeof(width));
-	OF_getprop(node, "linebytes", &stride, sizeof(stride));
+	if (OF_getprop(node, "linebytes", &stride, sizeof(stride)) !=
+	    sizeof(stride))
+		stride = width*depth/8;
 
 	sc->fb.fb_height = height;
 	sc->fb.fb_width = width;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201805300415.w4U4FX1r081210>