Module Name:    src
Committed By:   macallan
Date:           Tue Jan 14 09:46:42 UTC 2014

Modified Files:
        src/sys/dev/pci: radeonfb.c

Log Message:
cap mappable framebuffer size at 64MB before dividing it up for each output
now we can actually access the 2nd fb on boards with more than 64MB VRAM


To generate a diff of this commit:
cvs rdiff -u -r1.80 -r1.81 src/sys/dev/pci/radeonfb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/radeonfb.c
diff -u src/sys/dev/pci/radeonfb.c:1.80 src/sys/dev/pci/radeonfb.c:1.81
--- src/sys/dev/pci/radeonfb.c:1.80	Tue Jan 14 01:35:13 2014
+++ src/sys/dev/pci/radeonfb.c	Tue Jan 14 09:46:42 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: radeonfb.c,v 1.80 2014/01/14 01:35:13 macallan Exp $ */
+/*	$NetBSD: radeonfb.c,v 1.81 2014/01/14 09:46:42 macallan Exp $ */
 
 /*-
  * Copyright (c) 2006 Itronix Inc.
@@ -70,7 +70,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: radeonfb.c,v 1.80 2014/01/14 01:35:13 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: radeonfb.c,v 1.81 2014/01/14 09:46:42 macallan Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -627,6 +627,10 @@ radeonfb_attach(device_t parent, device_
 
 	radeonfb_set_fbloc(sc);
 
+	/* 64 MB should be enough -- more just wastes map entries */
+	if (sc->sc_memsz > (64 << 20))
+		sc->sc_memsz = (64 << 20);
+
 	for (i = 0; radeonfb_limits[i].size; i++) {
 		if (sc->sc_memsz >= radeonfb_limits[i].size) {
 			sc->sc_maxx = radeonfb_limits[i].maxx;
@@ -748,10 +752,6 @@ radeonfb_attach(device_t parent, device_
 		goto error;
 	}
 
-	/* 64 MB should be enough -- more just wastes map entries */
-	if (sc->sc_memsz > (64 << 20))
-		sc->sc_memsz = (64 << 20);
-
 	sc->sc_memt = pa->pa_memt;
 	if (bus_space_map(sc->sc_memt, sc->sc_memaddr, sc->sc_memsz,
 		BUS_SPACE_MAP_LINEAR, &sc->sc_memh) != 0) {

Reply via email to