Add interrupt support for two more video cards: the Formac color card II
and the Radius PrecisionColor 24Xp. Thanks to <falk.stern@luene.net> and <Mario_Magliocco@broder.com> for their remote sleuthing and testing.
This commit is contained in:
parent
6cd64be0b6
commit
fc3bdd6128
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: grf_mv.c,v 1.39 1998/01/12 19:22:06 thorpej Exp $ */
|
||||
/* $NetBSD: grf_mv.c,v 1.40 1998/04/24 01:58:44 briggs Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1995 Allen Briggs. All rights reserved.
|
||||
|
@ -61,8 +61,10 @@ static void grfmv_intr_cb364 __P((void *vsc, int slot));
|
|||
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_radius24 __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 void grfmv_intr_formac __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));
|
||||
|
@ -266,6 +268,9 @@ bad:
|
|||
case NUBUS_DRHW_RPC8XJ:
|
||||
add_nubus_intr(na->slot, grfmv_intr_radius, sc);
|
||||
break;
|
||||
case NUBUS_DRHW_RPC24XP:
|
||||
add_nubus_intr(na->slot, grfmv_intr_radius24, sc);
|
||||
break;
|
||||
case NUBUS_DRHW_FIILX:
|
||||
case NUBUS_DRHW_FIISXDSP:
|
||||
case NUBUS_DRHW_FUTURASX:
|
||||
|
@ -287,6 +292,9 @@ bad:
|
|||
case NUBUS_DRHW_LAPIS:
|
||||
add_nubus_intr(na->slot, grfmv_intr_lapis, sc);
|
||||
break;
|
||||
case NUBUS_DRHW_FORMAC:
|
||||
add_nubus_intr(na->slot, grfmv_intr_formac, sc);
|
||||
break;
|
||||
case NUBUS_DRHW_MICRON:
|
||||
/* What do we know about this one? */
|
||||
default:
|
||||
|
@ -406,6 +414,25 @@ grfmv_intr_radius(vsc, slot)
|
|||
bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xd00403, c);
|
||||
}
|
||||
|
||||
/*
|
||||
* Routine to clear interrupts for the Radius PrecisionColor 24Xp card.
|
||||
* Is this what the 8xj routine is doing, too?
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
grfmv_intr_radius24(vsc, slot)
|
||||
void *vsc;
|
||||
int slot;
|
||||
{
|
||||
struct grfbus_softc *sc = (struct grfbus_softc *)vsc;
|
||||
u_int8_t c;
|
||||
|
||||
c = 0x80 | bus_space_read_1(sc->sc_tag, sc->sc_handle, 0xfffd8);
|
||||
bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xd00403, c);
|
||||
c &= 0x7f;
|
||||
bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xd00403, c);
|
||||
}
|
||||
|
||||
/*
|
||||
* Routine to clear interrupts on Samsung 768x1006 video controller.
|
||||
* This controller was manufactured by Cornerstone Technology, Inc.,
|
||||
|
@ -618,3 +645,19 @@ grfmv_intr_lapis(vsc, slot)
|
|||
bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xff7000, 0x08);
|
||||
bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xff7000, 0x0C);
|
||||
}
|
||||
|
||||
/*
|
||||
* Routine to clear interrupts for the Formac Color Card II
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
grfmv_intr_formac(vsc, slot)
|
||||
void *vsc;
|
||||
int slot;
|
||||
{
|
||||
struct grfbus_softc *sc = (struct grfbus_softc *)vsc;
|
||||
u_int8_t dummy;
|
||||
|
||||
dummy = bus_space_read_1(sc->sc_tag, sc->sc_handle, 0xde80db);
|
||||
dummy = bus_space_read_1(sc->sc_tag, sc->sc_handle, 0xde80d3);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: nubus.h,v 1.35 1997/12/03 03:05:05 briggs Exp $ */
|
||||
/* $NetBSD: nubus.h,v 1.36 1998/04/24 01:58:45 briggs Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1995 Allen Briggs. All rights reserved.
|
||||
|
@ -59,6 +59,7 @@
|
|||
#define NUBUS_DRHW_PVC 0x0017 /* Apple Mac II Portrait Video Card */
|
||||
#define NUBUS_DRHW_MDC 0x0019 /* Apple Macintosh Display Card */
|
||||
#define NUBUS_DRHW_SUPRGFX 0x0105 /* SuperMac GFX */
|
||||
#define NUBUS_DRHW_FORMAC 0x013A /* Formac color card II */
|
||||
#define NUBUS_DRHW_CB264 0x013B /* RasterOps ColorBoard 264 */
|
||||
#define NUBUS_DRHW_MICRON 0x0146
|
||||
#define NUBUS_DRHW_SPECTRM8 0x017b /* SuperMac Spectrum/8 Series III */
|
||||
|
@ -68,6 +69,7 @@
|
|||
#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_RPC24XP 0x0406 /* Radius PrecisionColor 24Xp */
|
||||
#define NUBUS_DRHW_RPC8XJ 0x040B /* Radius PrecisionColor 8xj */
|
||||
#define NUBUS_DRHW_FIILX 0x0417 /* Futura II LX */
|
||||
#define NUBUS_DRHW_FIISXDSP 0x042F /* Futura II SX/DSP */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: grf_nubus.c,v 1.39 1998/01/12 19:22:06 thorpej Exp $ */
|
||||
/* $NetBSD: grf_nubus.c,v 1.40 1998/04/24 01:58:44 briggs Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1995 Allen Briggs. All rights reserved.
|
||||
|
@ -61,8 +61,10 @@ static void grfmv_intr_cb364 __P((void *vsc, int slot));
|
|||
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_radius24 __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 void grfmv_intr_formac __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));
|
||||
|
@ -266,6 +268,9 @@ bad:
|
|||
case NUBUS_DRHW_RPC8XJ:
|
||||
add_nubus_intr(na->slot, grfmv_intr_radius, sc);
|
||||
break;
|
||||
case NUBUS_DRHW_RPC24XP:
|
||||
add_nubus_intr(na->slot, grfmv_intr_radius24, sc);
|
||||
break;
|
||||
case NUBUS_DRHW_FIILX:
|
||||
case NUBUS_DRHW_FIISXDSP:
|
||||
case NUBUS_DRHW_FUTURASX:
|
||||
|
@ -287,6 +292,9 @@ bad:
|
|||
case NUBUS_DRHW_LAPIS:
|
||||
add_nubus_intr(na->slot, grfmv_intr_lapis, sc);
|
||||
break;
|
||||
case NUBUS_DRHW_FORMAC:
|
||||
add_nubus_intr(na->slot, grfmv_intr_formac, sc);
|
||||
break;
|
||||
case NUBUS_DRHW_MICRON:
|
||||
/* What do we know about this one? */
|
||||
default:
|
||||
|
@ -406,6 +414,25 @@ grfmv_intr_radius(vsc, slot)
|
|||
bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xd00403, c);
|
||||
}
|
||||
|
||||
/*
|
||||
* Routine to clear interrupts for the Radius PrecisionColor 24Xp card.
|
||||
* Is this what the 8xj routine is doing, too?
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
grfmv_intr_radius24(vsc, slot)
|
||||
void *vsc;
|
||||
int slot;
|
||||
{
|
||||
struct grfbus_softc *sc = (struct grfbus_softc *)vsc;
|
||||
u_int8_t c;
|
||||
|
||||
c = 0x80 | bus_space_read_1(sc->sc_tag, sc->sc_handle, 0xfffd8);
|
||||
bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xd00403, c);
|
||||
c &= 0x7f;
|
||||
bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xd00403, c);
|
||||
}
|
||||
|
||||
/*
|
||||
* Routine to clear interrupts on Samsung 768x1006 video controller.
|
||||
* This controller was manufactured by Cornerstone Technology, Inc.,
|
||||
|
@ -618,3 +645,19 @@ grfmv_intr_lapis(vsc, slot)
|
|||
bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xff7000, 0x08);
|
||||
bus_space_write_1(sc->sc_tag, sc->sc_handle, 0xff7000, 0x0C);
|
||||
}
|
||||
|
||||
/*
|
||||
* Routine to clear interrupts for the Formac Color Card II
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
grfmv_intr_formac(vsc, slot)
|
||||
void *vsc;
|
||||
int slot;
|
||||
{
|
||||
struct grfbus_softc *sc = (struct grfbus_softc *)vsc;
|
||||
u_int8_t dummy;
|
||||
|
||||
dummy = bus_space_read_1(sc->sc_tag, sc->sc_handle, 0xde80db);
|
||||
dummy = bus_space_read_1(sc->sc_tag, sc->sc_handle, 0xde80d3);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: nubus.h,v 1.35 1997/12/03 03:05:05 briggs Exp $ */
|
||||
/* $NetBSD: nubus.h,v 1.36 1998/04/24 01:58:45 briggs Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1995 Allen Briggs. All rights reserved.
|
||||
|
@ -59,6 +59,7 @@
|
|||
#define NUBUS_DRHW_PVC 0x0017 /* Apple Mac II Portrait Video Card */
|
||||
#define NUBUS_DRHW_MDC 0x0019 /* Apple Macintosh Display Card */
|
||||
#define NUBUS_DRHW_SUPRGFX 0x0105 /* SuperMac GFX */
|
||||
#define NUBUS_DRHW_FORMAC 0x013A /* Formac color card II */
|
||||
#define NUBUS_DRHW_CB264 0x013B /* RasterOps ColorBoard 264 */
|
||||
#define NUBUS_DRHW_MICRON 0x0146
|
||||
#define NUBUS_DRHW_SPECTRM8 0x017b /* SuperMac Spectrum/8 Series III */
|
||||
|
@ -68,6 +69,7 @@
|
|||
#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_RPC24XP 0x0406 /* Radius PrecisionColor 24Xp */
|
||||
#define NUBUS_DRHW_RPC8XJ 0x040B /* Radius PrecisionColor 8xj */
|
||||
#define NUBUS_DRHW_FIILX 0x0417 /* Futura II LX */
|
||||
#define NUBUS_DRHW_FIISXDSP 0x042F /* Futura II SX/DSP */
|
||||
|
|
Loading…
Reference in New Issue