summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorsato <sato@NetBSD.org>2000-12-30 01:41:51 +0000
committersato <sato@NetBSD.org>2000-12-30 01:41:51 +0000
commit9785bf052607612bc0e08f72a390d36386c332ea (patch)
tree6fda291a11a35f2450d450468748f3fa3960c6ae /sys/dev
parent2c65dfb9b5bad06bcab29f7a9a7db5185dad85b2 (diff)
notify console polling mode or not to lower level framebuffer driver.
notify EMUL mode or not to lower level framebuffer driver. these may use framebuffer level hardware acceleration/software optimization.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/wscons/wsdisplay.c14
-rw-r--r--sys/dev/wscons/wsdisplayvar.h3
2 files changed, 14 insertions, 3 deletions
diff --git a/sys/dev/wscons/wsdisplay.c b/sys/dev/wscons/wsdisplay.c
index b5d2624aa72..dccfb1ae426 100644
--- a/sys/dev/wscons/wsdisplay.c
+++ b/sys/dev/wscons/wsdisplay.c
@@ -1,4 +1,4 @@
-/* $NetBSD: wsdisplay.c,v 1.43 2000/12/04 13:22:17 ad Exp $ */
+/* $NetBSD: wsdisplay.c,v 1.44 2000/12/30 01:41:51 sato Exp $ */
/*
* Copyright (c) 1996, 1997 Christopher G. Demetriou. All rights reserved.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wsdisplay.c,v 1.43 2000/12/04 13:22:17 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wsdisplay.c,v 1.44 2000/12/30 01:41:51 sato Exp $");
#include <sys/param.h>
#include <sys/conf.h>
@@ -988,6 +988,10 @@ wsdisplay_internal_ioctl(sc, scr, cmd, data, flag, p)
scr->scr_flags |= SCR_GRAPHICS;
} else if (d == WSDISPLAYIO_MODE_EMUL)
return (EINVAL);
+
+ (void)(*sc->sc_accessops->ioctl)(sc->sc_accesscookie, cmd, data,
+ flag, p);
+
return (0);
#undef d
@@ -1783,9 +1787,15 @@ wsdisplay_pollc(dev, on)
dev_t dev;
int on;
{
+ struct wsdisplay_softc *sc = (struct wsdisplay_softc *)dev;
wsdisplay_cons_pollmode = on;
+ /* notify to fb drivers */
+ if (sc->sc_accessops->pollc != NULL)
+ (*sc->sc_accessops->pollc)(sc->sc_accesscookie, on);
+
+ /* notify to kbd drivers */
if (wsdisplay_cons_kbd_pollc)
(*wsdisplay_cons_kbd_pollc)(dev, on);
}
diff --git a/sys/dev/wscons/wsdisplayvar.h b/sys/dev/wscons/wsdisplayvar.h
index b7826133166..42bdf87070d 100644
--- a/sys/dev/wscons/wsdisplayvar.h
+++ b/sys/dev/wscons/wsdisplayvar.h
@@ -1,4 +1,4 @@
-/* $NetBSD: wsdisplayvar.h,v 1.17 2000/09/10 11:44:13 lukem Exp $ */
+/* $NetBSD: wsdisplayvar.h,v 1.18 2000/12/30 01:41:52 sato Exp $ */
/*
* Copyright (c) 1996, 1997 Christopher G. Demetriou. All rights reserved.
@@ -110,6 +110,7 @@ struct wsdisplay_accessops {
int (*show_screen) __P((void *, void *, int,
void (*) (void *, int, int), void *));
int (*load_font) __P((void *, void *, struct wsdisplay_font *));
+ void (*pollc) __P((void *, int));
};
/*