Module Name: src
Committed By: abs
Date: Mon Dec 6 16:00:07 UTC 2021
Modified Files:
src/sys/dev/tc: cfb.c mfb.c sfb.c tfb.c xcfb.c
Log Message:
Add WSDISPLAYIO_GET_FBINFO support to most TURBOchannel framebuffers
This adds WSDISPLAYIO_GET_FBINFO to cfb, mfb, sfb, tfb and xcfb
TURBOchannel framebuffers as used by pmax and alpha
It does not add support to px and pxg (they handle ioctls in common
code in stic.c and more careful wiring is required)
These changes allow an Xswfb X server to use the framebuffer
directly, albeit without any special acceleration
A subsequent change will re-enable X server building on pmax, and
also hopefully switch alpha from Xorg 1.10 to 1.20
To generate a diff of this commit:
cvs rdiff -u -r1.65 -r1.66 src/sys/dev/tc/cfb.c src/sys/dev/tc/tfb.c
cvs rdiff -u -r1.63 -r1.64 src/sys/dev/tc/mfb.c
cvs rdiff -u -r1.88 -r1.89 src/sys/dev/tc/sfb.c
cvs rdiff -u -r1.59 -r1.60 src/sys/dev/tc/xcfb.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/tc/cfb.c
diff -u src/sys/dev/tc/cfb.c:1.65 src/sys/dev/tc/cfb.c:1.66
--- src/sys/dev/tc/cfb.c:1.65 Sat Aug 7 16:19:16 2021
+++ src/sys/dev/tc/cfb.c Mon Dec 6 16:00:07 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: cfb.c,v 1.65 2021/08/07 16:19:16 thorpej Exp $ */
+/* $NetBSD: cfb.c,v 1.66 2021/12/06 16:00:07 abs Exp $ */
/*-
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cfb.c,v 1.65 2021/08/07 16:19:16 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cfb.c,v 1.66 2021/12/06 16:00:07 abs Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -363,6 +363,11 @@ cfbioctl(void *v, void *vs, u_long cmd,
*(u_int *)data = WSDISPLAY_TYPE_CFB;
return (0);
+ case WSDISPLAYIO_GET_FBINFO: {
+ struct wsdisplayio_fbinfo *fbi = data;
+ return wsdisplayio_get_fbinfo(sc->sc_ri, fbi);
+ }
+
case WSDISPLAYIO_GINFO:
#define wsd_fbip ((struct wsdisplay_fbinfo *)data)
wsd_fbip->height = ri->ri_height;
Index: src/sys/dev/tc/tfb.c
diff -u src/sys/dev/tc/tfb.c:1.65 src/sys/dev/tc/tfb.c:1.66
--- src/sys/dev/tc/tfb.c:1.65 Sat Aug 7 16:19:16 2021
+++ src/sys/dev/tc/tfb.c Mon Dec 6 16:00:07 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tfb.c,v 1.65 2021/08/07 16:19:16 thorpej Exp $ */
+/* $NetBSD: tfb.c,v 1.66 2021/12/06 16:00:07 abs Exp $ */
/*-
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tfb.c,v 1.65 2021/08/07 16:19:16 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tfb.c,v 1.66 2021/12/06 16:00:07 abs Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -397,6 +397,11 @@ tfbioctl(void *v, void *vs, u_long cmd,
*(u_int *)data = WSDISPLAY_TYPE_TX;
return (0);
+ case WSDISPLAYIO_GET_FBINFO: {
+ struct wsdisplayio_fbinfo *fbi = data;
+ return wsdisplayio_get_fbinfo(sc->sc_ri, fbi);
+ }
+
case WSDISPLAYIO_GINFO:
#define wsd_fbip ((struct wsdisplay_fbinfo *)data)
wsd_fbip->height = ri->ri_height;
Index: src/sys/dev/tc/mfb.c
diff -u src/sys/dev/tc/mfb.c:1.63 src/sys/dev/tc/mfb.c:1.64
--- src/sys/dev/tc/mfb.c:1.63 Sat Aug 7 16:19:16 2021
+++ src/sys/dev/tc/mfb.c Mon Dec 6 16:00:07 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: mfb.c,v 1.63 2021/08/07 16:19:16 thorpej Exp $ */
+/* $NetBSD: mfb.c,v 1.64 2021/12/06 16:00:07 abs Exp $ */
/*-
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mfb.c,v 1.63 2021/08/07 16:19:16 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mfb.c,v 1.64 2021/12/06 16:00:07 abs Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -327,6 +327,11 @@ mfbioctl(void *v, void *vs, u_long cmd,
*(u_int *)data = WSDISPLAY_TYPE_MFB;
return (0);
+ case WSDISPLAYIO_GET_FBINFO: {
+ struct wsdisplayio_fbinfo *fbi = data;
+ return wsdisplayio_get_fbinfo(sc->sc_ri, fbi);
+ }
+
case WSDISPLAYIO_GINFO:
#define wsd_fbip ((struct wsdisplay_fbinfo *)data)
wsd_fbip->height = ri->ri_height;
Index: src/sys/dev/tc/sfb.c
diff -u src/sys/dev/tc/sfb.c:1.88 src/sys/dev/tc/sfb.c:1.89
--- src/sys/dev/tc/sfb.c:1.88 Sat Aug 7 16:19:16 2021
+++ src/sys/dev/tc/sfb.c Mon Dec 6 16:00:07 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: sfb.c,v 1.88 2021/08/07 16:19:16 thorpej Exp $ */
+/* $NetBSD: sfb.c,v 1.89 2021/12/06 16:00:07 abs Exp $ */
/*-
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sfb.c,v 1.88 2021/08/07 16:19:16 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sfb.c,v 1.89 2021/12/06 16:00:07 abs Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -397,6 +397,11 @@ sfbioctl(void *v, void *vs, u_long cmd,
*(u_int *)data = WSDISPLAY_TYPE_SFB;
return (0);
+ case WSDISPLAYIO_GET_FBINFO: {
+ struct wsdisplayio_fbinfo *fbi = data;
+ return wsdisplayio_get_fbinfo(sc->sc_ri, fbi);
+ }
+
case WSDISPLAYIO_GINFO:
#define wsd_fbip ((struct wsdisplay_fbinfo *)data)
wsd_fbip->height = ri->ri_height;
Index: src/sys/dev/tc/xcfb.c
diff -u src/sys/dev/tc/xcfb.c:1.59 src/sys/dev/tc/xcfb.c:1.60
--- src/sys/dev/tc/xcfb.c:1.59 Sat Aug 7 16:19:16 2021
+++ src/sys/dev/tc/xcfb.c Mon Dec 6 16:00:07 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: xcfb.c,v 1.59 2021/08/07 16:19:16 thorpej Exp $ */
+/* $NetBSD: xcfb.c,v 1.60 2021/12/06 16:00:07 abs Exp $ */
/*-
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xcfb.c,v 1.59 2021/08/07 16:19:16 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xcfb.c,v 1.60 2021/12/06 16:00:07 abs Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -396,6 +396,11 @@ xcfbioctl(void *v, void *vs, u_long cmd,
*(u_int *)data = WSDISPLAY_TYPE_XCFB;
return (0);
+ case WSDISPLAYIO_GET_FBINFO: {
+ struct wsdisplayio_fbinfo *fbi = data;
+ return wsdisplayio_get_fbinfo(sc->sc_ri, fbi);
+ }
+
case WSDISPLAYIO_GINFO:
#define wsd_fbip ((struct wsdisplay_fbinfo *)data)
wsd_fbip->height = ri->ri_height;