Module Name: src Committed By: msaitoh Date: Mon Apr 13 15:26:58 UTC 2020
Modified Files: src/sys/dev/wsfb: genfb.c Log Message: Get genfb's address offset correctly when the vaule >= 4G. OK's by jmcneill. Tested on Intel BXNUC10I3FNK (Comet Lake U). To generate a diff of this commit: cvs rdiff -u -r1.71 -r1.72 src/sys/dev/wsfb/genfb.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/wsfb/genfb.c diff -u src/sys/dev/wsfb/genfb.c:1.71 src/sys/dev/wsfb/genfb.c:1.72 --- src/sys/dev/wsfb/genfb.c:1.71 Sun Feb 23 14:44:23 2020 +++ src/sys/dev/wsfb/genfb.c Mon Apr 13 15:26:57 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: genfb.c,v 1.71 2020/02/23 14:44:23 martin Exp $ */ +/* $NetBSD: genfb.c,v 1.72 2020/04/13 15:26:57 msaitoh Exp $ */ /*- * Copyright (c) 2007 Michael Lorenz @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: genfb.c,v 1.71 2020/02/23 14:44:23 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: genfb.c,v 1.72 2020/04/13 15:26:57 msaitoh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -102,7 +102,7 @@ genfb_init(struct genfb_softc *sc) { prop_dictionary_t dict; uint64_t cmap_cb, pmf_cb, mode_cb, bl_cb, br_cb, fbaddr; - uint32_t fboffset; + uint64_t fboffset; bool console; dict = device_properties(sc->sc_dev); @@ -124,13 +124,12 @@ genfb_init(struct genfb_softc *sc) return; } - /* XXX should be a 64bit value */ - if (!prop_dictionary_get_uint32(dict, "address", &fboffset)) { + if (!prop_dictionary_get_uint64(dict, "address", &fboffset)) { GPRINTF("no address property\n"); return; } - sc->sc_fboffset = fboffset; + sc->sc_fboffset = (bus_addr_t)fboffset; sc->sc_fbaddr = NULL; if (prop_dictionary_get_uint64(dict, "virtual_address", &fbaddr)) {