summaryrefslogtreecommitdiff
path: root/sys/arch/hppa/gsc/osiop_gsc.c
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2004-03-12 00:04:58 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2004-03-12 00:04:58 +0000
commita64ef287e3bc4ca300b0cdca525c011f4c8dcf35 (patch)
tree9b7d2a92a0372201003cfc2ac3df316de5aaca75 /sys/arch/hppa/gsc/osiop_gsc.c
parentd57b8b0940d9b2c0bc9222002b7686dcbdb9843d (diff)
Preliminary port of NetBSD oosiop driver, for NCR53C700 chips, as commonly
encountered on the oldest hppa machines. Currently compiled in, but disabled, in the kernel, until it is stable enough - right now read access are fine, but writes eventually time out and do not complete. ok deraadt@
Diffstat (limited to 'sys/arch/hppa/gsc/osiop_gsc.c')
-rw-r--r--sys/arch/hppa/gsc/osiop_gsc.c26
1 files changed, 9 insertions, 17 deletions
diff --git a/sys/arch/hppa/gsc/osiop_gsc.c b/sys/arch/hppa/gsc/osiop_gsc.c
index f9b879148a0..c928bdd5dd0 100644
--- a/sys/arch/hppa/gsc/osiop_gsc.c
+++ b/sys/arch/hppa/gsc/osiop_gsc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: osiop_gsc.c,v 1.10 2004/02/13 21:28:19 mickey Exp $ */
+/* $OpenBSD: osiop_gsc.c,v 1.11 2004/03/12 00:04:57 miod Exp $ */
/* $NetBSD: osiop_gsc.c,v 1.6 2002/10/02 05:17:50 thorpej Exp $ */
/*
@@ -79,7 +79,7 @@
#include <hppa/gsc/gscbusvar.h>
/* #include <hppa/hppa/machdep.h> */
-#define OSIOP_GSC_RESET 0x0000
+#define OSIOP_GSC_RESET 0x0000
#define OSIOP_GSC_OFFSET 0x0100
int osiop_gsc_match(struct device *, void *, void *);
@@ -98,8 +98,7 @@ osiop_gsc_match(parent, match, aux)
struct gsc_attach_args *ga = aux;
if (ga->ga_type.iodc_type != HPPA_TYPE_FIO ||
- (ga->ga_type.iodc_sv_model != HPPA_FIO_GSCSI /* &&
- ga->ga_type.iodc_sv_model != HPPA_FIO_SCSI */))
+ ga->ga_type.iodc_sv_model != HPPA_FIO_GSCSI)
return 0;
return 1;
@@ -117,27 +116,20 @@ osiop_gsc_attach(parent, self, aux)
sc->sc_bst = ga->ga_iot;
sc->sc_dmat = ga->ga_dmatag;
if (bus_space_map(sc->sc_bst, ga->ga_hpa,
- OSIOP_GSC_OFFSET + OSIOP_NREGS, 0, &ioh))
+ OSIOP_GSC_OFFSET + OSIOP_NREGS, 0, &ioh))
panic("osiop_gsc_attach: couldn't map I/O ports");
if (bus_space_subregion(sc->sc_bst, ioh,
- OSIOP_GSC_OFFSET, OSIOP_NREGS, &sc->sc_reg))
+ OSIOP_GSC_OFFSET, OSIOP_NREGS, &sc->sc_reg))
panic("osiop_gsc_attach: couldn't get chip ports");
sc->sc_clock_freq = ga->ga_ca.ca_pdc_iodc_read->filler2[14] / 1000000;
if (!sc->sc_clock_freq)
sc->sc_clock_freq = 50;
- if (ga->ga_ca.ca_type.iodc_sv_model == HPPA_FIO_GSCSI) {
- sc->sc_dcntl = OSIOP_DCNTL_EA;
- /* XXX set burst mode to 8 words (32 bytes) */
- sc->sc_ctest7 = OSIOP_CTEST7_CDIS;
- sc->sc_dmode = OSIOP_DMODE_BL8; /* | OSIOP_DMODE_FC2 */
- } else {
- sc->sc_dcntl = 0;
- sc->sc_ctest7 = 0;
- sc->sc_dmode = 0; /* | OSIOP_DMODE_FC2 */
- }
-
+ sc->sc_dcntl = OSIOP_DCNTL_EA;
+ /* XXX set burst mode to 8 words (32 bytes) */
+ sc->sc_ctest7 = OSIOP_CTEST7_CDIS;
+ sc->sc_dmode = OSIOP_DMODE_BL8; /* | OSIOP_DMODE_FC2 */
sc->sc_flags = 0;
sc->sc_id = 7; /* XXX */