diff --git a/sys/arch/mac68k/dev/grf_mv.c b/sys/arch/mac68k/dev/grf_mv.c index 21acf32685ce..7614692d9bf8 100644 --- a/sys/arch/mac68k/dev/grf_mv.c +++ b/sys/arch/mac68k/dev/grf_mv.c @@ -1,4 +1,4 @@ -/* $NetBSD: grf_mv.c,v 1.35 1997/10/25 23:18:01 briggs Exp $ */ +/* $NetBSD: grf_mv.c,v 1.36 1997/11/30 01:02:44 briggs Exp $ */ /* * Copyright (c) 1995 Allen Briggs. All rights reserved. @@ -61,6 +61,7 @@ static void grfmv_intr_cmax __P((void *vsc, int slot)); static void grfmv_intr_cti __P((void *vsc, int slot)); static void grfmv_intr_radius __P((void *vsc, int slot)); static void grfmv_intr_supermacgfx __P((void *vsc, int slot)); +static void grfmv_intr_lapis __P((void *vsc, int slot)); static int grfmv_mode __P((struct grf_softc *gp, int cmd, void *arg)); static caddr_t grfmv_phys __P((struct grf_softc *gp)); @@ -281,6 +282,9 @@ bad: case NUBUS_DRHW_SUPRGFX: add_nubus_intr(na->slot, grfmv_intr_supermacgfx, sc); break; + case NUBUS_DRHW_LAPIS: + add_nubus_intr(na->slot, grfmv_intr_lapis, sc); + break; case NUBUS_DRHW_MICRON: /* What do we know about this one? */ default: @@ -577,3 +581,18 @@ grfmv_intr_cmax(vsc, slot) dummy = bus_space_read_4(sc->sc_tag, sc->sc_handle, 0xf501c); dummy = bus_space_read_4(sc->sc_tag, sc->sc_handle, 0xf5018); } + +/* + * Routine to clear interrupts for the Sigma Designs ColorMax card. + */ +/*ARGSUSED*/ +static void +grfmv_intr_lapis(vsc, slot) + void *vsc; + int slot; +{ + struct grfbus_softc *sc = (struct grfbus_softc *)vsc; + + bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xff7000, 0x08); + bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xff7000, 0x0C); +} diff --git a/sys/arch/mac68k/dev/nubus.h b/sys/arch/mac68k/dev/nubus.h index ea933387e489..cd4bca49b6e7 100644 --- a/sys/arch/mac68k/dev/nubus.h +++ b/sys/arch/mac68k/dev/nubus.h @@ -1,4 +1,4 @@ -/* $NetBSD: nubus.h,v 1.33 1997/10/25 23:17:58 briggs Exp $ */ +/* $NetBSD: nubus.h,v 1.34 1997/11/30 01:02:45 briggs Exp $ */ /* * Copyright (c) 1995 Allen Briggs. All rights reserved. @@ -64,6 +64,7 @@ #define NUBUS_DRHW_SPECTRUM 0x017c /* SuperMac Spectrum/24 Series III */ #define NUBUS_DRHW_CB364 0x026F /* RasterOps ColorBoard 364 */ #define NUBUS_DRHW_RPC8 0x0291 /* Radius PrecisionColor 8 */ +#define NUBUS_DRHW_LAPIS 0x0292 /* SE/30 Lapis ProColorServer 8 PDS */ #define NUBUS_DRHW_FUTURASX 0x02AE /* E-Machines Futura-SX */ #define NUBUS_DRHW_THUNDER24 0x02CB /* SuperMac Thunder/24 */ #define NUBUS_DRHW_RPC8XJ 0x040B /* Radius PrecisionColor 8xj */ diff --git a/sys/arch/mac68k/nubus/grf_nubus.c b/sys/arch/mac68k/nubus/grf_nubus.c index f7190c8c131a..2a754948f04c 100644 --- a/sys/arch/mac68k/nubus/grf_nubus.c +++ b/sys/arch/mac68k/nubus/grf_nubus.c @@ -1,4 +1,4 @@ -/* $NetBSD: grf_nubus.c,v 1.35 1997/10/25 23:18:01 briggs Exp $ */ +/* $NetBSD: grf_nubus.c,v 1.36 1997/11/30 01:02:44 briggs Exp $ */ /* * Copyright (c) 1995 Allen Briggs. All rights reserved. @@ -61,6 +61,7 @@ static void grfmv_intr_cmax __P((void *vsc, int slot)); static void grfmv_intr_cti __P((void *vsc, int slot)); static void grfmv_intr_radius __P((void *vsc, int slot)); static void grfmv_intr_supermacgfx __P((void *vsc, int slot)); +static void grfmv_intr_lapis __P((void *vsc, int slot)); static int grfmv_mode __P((struct grf_softc *gp, int cmd, void *arg)); static caddr_t grfmv_phys __P((struct grf_softc *gp)); @@ -281,6 +282,9 @@ bad: case NUBUS_DRHW_SUPRGFX: add_nubus_intr(na->slot, grfmv_intr_supermacgfx, sc); break; + case NUBUS_DRHW_LAPIS: + add_nubus_intr(na->slot, grfmv_intr_lapis, sc); + break; case NUBUS_DRHW_MICRON: /* What do we know about this one? */ default: @@ -577,3 +581,18 @@ grfmv_intr_cmax(vsc, slot) dummy = bus_space_read_4(sc->sc_tag, sc->sc_handle, 0xf501c); dummy = bus_space_read_4(sc->sc_tag, sc->sc_handle, 0xf5018); } + +/* + * Routine to clear interrupts for the Sigma Designs ColorMax card. + */ +/*ARGSUSED*/ +static void +grfmv_intr_lapis(vsc, slot) + void *vsc; + int slot; +{ + struct grfbus_softc *sc = (struct grfbus_softc *)vsc; + + bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xff7000, 0x08); + bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xff7000, 0x0C); +} diff --git a/sys/arch/mac68k/nubus/nubus.h b/sys/arch/mac68k/nubus/nubus.h index ea933387e489..cd4bca49b6e7 100644 --- a/sys/arch/mac68k/nubus/nubus.h +++ b/sys/arch/mac68k/nubus/nubus.h @@ -1,4 +1,4 @@ -/* $NetBSD: nubus.h,v 1.33 1997/10/25 23:17:58 briggs Exp $ */ +/* $NetBSD: nubus.h,v 1.34 1997/11/30 01:02:45 briggs Exp $ */ /* * Copyright (c) 1995 Allen Briggs. All rights reserved. @@ -64,6 +64,7 @@ #define NUBUS_DRHW_SPECTRUM 0x017c /* SuperMac Spectrum/24 Series III */ #define NUBUS_DRHW_CB364 0x026F /* RasterOps ColorBoard 364 */ #define NUBUS_DRHW_RPC8 0x0291 /* Radius PrecisionColor 8 */ +#define NUBUS_DRHW_LAPIS 0x0292 /* SE/30 Lapis ProColorServer 8 PDS */ #define NUBUS_DRHW_FUTURASX 0x02AE /* E-Machines Futura-SX */ #define NUBUS_DRHW_THUNDER24 0x02CB /* SuperMac Thunder/24 */ #define NUBUS_DRHW_RPC8XJ 0x040B /* Radius PrecisionColor 8xj */