Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/arm support WSDISPLAYIO_GET_FBINFO
details: https://anonhg.NetBSD.org/src/rev/10d543990b9c
branches: trunk
changeset: 784532:10d543990b9c
user: macallan <macallan%NetBSD.org@localhost>
date: Thu Jan 31 11:00:07 2013 +0000
description:
support WSDISPLAYIO_GET_FBINFO
diffstat:
sys/arch/arm/broadcom/bcm2835_genfb.c | 14 ++++++++++++--
sys/arch/arm/omap/omapfb.c | 34 +++++++++++++++++++++++++++++-----
2 files changed, 41 insertions(+), 7 deletions(-)
diffs (105 lines):
diff -r 3d9c2369233a -r 10d543990b9c sys/arch/arm/broadcom/bcm2835_genfb.c
--- a/sys/arch/arm/broadcom/bcm2835_genfb.c Thu Jan 31 10:58:22 2013 +0000
+++ b/sys/arch/arm/broadcom/bcm2835_genfb.c Thu Jan 31 11:00:07 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: bcm2835_genfb.c,v 1.3 2013/01/10 14:12:16 jmcneill Exp $ */
+/* $NetBSD: bcm2835_genfb.c,v 1.4 2013/01/31 11:00:44 macallan Exp $ */
/*-
* Copyright (c) 2013 Jared D. McNeill <jmcneill%invisible.ca@localhost>
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm2835_genfb.c,v 1.3 2013/01/10 14:12:16 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm2835_genfb.c,v 1.4 2013/01/31 11:00:44 macallan Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -133,6 +133,16 @@
busid = data;
busid->bus_type = WSDISPLAYIO_BUS_SOC;
return 0;
+ case WSDISPLAYIO_GET_FBINFO:
+ {
+ struct wsdisplayio_fbinfo *fbi = data;
+ struct rasops_info *ri = &sc->sc_gen.vd.active->scr_ri;
+ int ret;
+
+ ret = wsdisplayio_get_fbinfo(ri, fbi);
+ fbi->fbi_flags |= WSFB_VRAM_IS_RAM;
+ return ret;
+ }
default:
return EPASSTHROUGH;
}
diff -r 3d9c2369233a -r 10d543990b9c sys/arch/arm/omap/omapfb.c
--- a/sys/arch/arm/omap/omapfb.c Thu Jan 31 10:58:22 2013 +0000
+++ b/sys/arch/arm/omap/omapfb.c Thu Jan 31 11:00:07 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: omapfb.c,v 1.15 2013/01/21 16:08:30 macallan Exp $ */
+/* $NetBSD: omapfb.c,v 1.16 2013/01/31 11:00:07 macallan Exp $ */
/*
* Copyright (c) 2010 Michael Lorenz
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: omapfb.c,v 1.15 2013/01/21 16:08:30 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: omapfb.c,v 1.16 2013/01/31 11:00:07 macallan Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -297,7 +297,7 @@
bus_space_write_4(sc->sc_iot, sc->sc_regh, OMAPFB_DSS_SYSCONFIG,
OMAP_SYSCONF_AUTOIDLE);
reg = bus_space_read_4(sc->sc_iot, sc->sc_regh, OMAPFB_DISPC_CONFIG);
- reg = 0x8;
+ reg = OMAP_DISPC_CTRL_ACTIVE_MTRX;
bus_space_write_4(sc->sc_iot, sc->sc_regh, OMAPFB_DISPC_CONFIG, reg);
sc->sc_fbhwaddr = sc->sc_dmamem->ds_addr + 0x1000;
@@ -486,6 +486,30 @@
}
}
return 0;
+ case WSDISPLAYIO_GET_FBINFO:
+ {
+ struct wsdisplayio_fbinfo *fbi = data;
+
+ fbi->fbi_width = sc->sc_width;
+ fbi->fbi_height = sc->sc_height;
+ fbi->fbi_stride = sc->sc_width << 2;
+ fbi->fbi_bitsperpixel = 32;
+ fbi->fbi_pixeltype = WSFB_RGB;
+ fbi->fbi_subtype.fbi_rgbmasks.red_offset = 16;
+ fbi->fbi_subtype.fbi_rgbmasks.red_size = 8;
+ fbi->fbi_subtype.fbi_rgbmasks.green_offset = 8;
+ fbi->fbi_subtype.fbi_rgbmasks.green_size = 8;
+ fbi->fbi_subtype.fbi_rgbmasks.blue_offset = 0;
+ fbi->fbi_subtype.fbi_rgbmasks.blue_size = 8;
+ fbi->fbi_subtype.fbi_rgbmasks.alpha_offset = 0;
+ fbi->fbi_subtype.fbi_rgbmasks.alpha_size = 0;
+ fbi->fbi_flags = 0;
+ fbi->fbi_fbsize = sc->sc_vramsize;
+ fbi->fbi_fboffset = 0;
+ fbi->fbi_flags = WSFB_VRAM_IS_RAM;
+
+ }
+ return 0;
}
return EPASSTHROUGH;
}
@@ -498,9 +522,9 @@
struct omapfb_softc *sc = vd->cookie;
/* 'regular' framebuffer mmap()ing */
- if (offset < (12 << 20)) {
+ if (offset < sc->sc_vramsize) {
pa = bus_dmamem_mmap(sc->sc_dmat, sc->sc_dmamem, 1,
- offset + 0x1000, prot, BUS_DMA_COHERENT);
+ offset + 0x1000, prot, BUS_DMA_PREFETCHABLE);
return pa;
}
return pa;
Home |
Main Index |
Thread Index |
Old Index