Support for the Lapis ProColorServer 8 PDS on the SE/30. This prevents

hangs when trying to use this video card in conjunction with an ethernet
card.  Thanks to David Condon <david@apk.net> for information and testing.
This commit is contained in:
briggs 1997-11-30 01:02:44 +00:00
parent 0cd2d70c37
commit 8e1428e600
4 changed files with 44 additions and 4 deletions

View File

@ -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);
}

View File

@ -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 */

View File

@ -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);
}

View File

@ -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 */