diff options
| author | abs <abs@NetBSD.org> | 2021-12-06 16:00:07 +0000 |
|---|---|---|
| committer | abs <abs@NetBSD.org> | 2021-12-06 16:00:07 +0000 |
| commit | af87979ab5d6e1894012e2e9fafc1fabac3fa6ea (patch) | |
| tree | 637f5077455f3c04fb4cdd61e93dd0329e78ac1b /sys/dev | |
| parent | 45b262e66907feec9d730464fa4200eac419e596 (diff) | |
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
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/tc/cfb.c | 9 | ||||
| -rw-r--r-- | sys/dev/tc/mfb.c | 9 | ||||
| -rw-r--r-- | sys/dev/tc/sfb.c | 9 | ||||
| -rw-r--r-- | sys/dev/tc/tfb.c | 9 | ||||
| -rw-r--r-- | sys/dev/tc/xcfb.c | 9 |
5 files changed, 35 insertions, 10 deletions
diff --git a/sys/dev/tc/cfb.c b/sys/dev/tc/cfb.c index 795879a6b3a..73b0c08bee6 100644 --- a/sys/dev/tc/cfb.c +++ b/sys/dev/tc/cfb.c @@ -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, void *data, int flag, struct lwp *l) *(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; diff --git a/sys/dev/tc/mfb.c b/sys/dev/tc/mfb.c index 45b9a34fe84..87c2b03ded5 100644 --- a/sys/dev/tc/mfb.c +++ b/sys/dev/tc/mfb.c @@ -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, void *data, int flag, struct lwp *l) *(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; diff --git a/sys/dev/tc/sfb.c b/sys/dev/tc/sfb.c index a275cfbb121..049be412ef9 100644 --- a/sys/dev/tc/sfb.c +++ b/sys/dev/tc/sfb.c @@ -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, void *data, int flag, struct lwp *l) *(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; diff --git a/sys/dev/tc/tfb.c b/sys/dev/tc/tfb.c index 2b9ae757519..ab04063a329 100644 --- a/sys/dev/tc/tfb.c +++ b/sys/dev/tc/tfb.c @@ -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, void *data, int flag, struct lwp *l) *(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; diff --git a/sys/dev/tc/xcfb.c b/sys/dev/tc/xcfb.c index 41152ccca61..0a6f1a189c1 100644 --- a/sys/dev/tc/xcfb.c +++ b/sys/dev/tc/xcfb.c @@ -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, void *data, int flag, struct lwp *l) *(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; |
