summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2003-05-06 22:01:44 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2003-05-06 22:01:44 +0000
commit12e8b31474927177f0c8e63e2d6d8d6eac721265 (patch)
treec6ce46fc5049ab52627df1399da2bea76b666ea0 /sys
parent9b65811fc4a05254132297e403d2ba220fed983a (diff)
allow programming dma block bus transaction length on 710 and set to 8 words for hppa/osiop; krw@ ok
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/hppa/gsc/osiop_gsc.c11
-rw-r--r--sys/dev/ic/osiop.c4
-rw-r--r--sys/dev/ic/osiopvar.h3
3 files changed, 11 insertions, 7 deletions
diff --git a/sys/arch/hppa/gsc/osiop_gsc.c b/sys/arch/hppa/gsc/osiop_gsc.c
index b42c2348f5b..4f8bafbc951 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.4 2003/03/29 01:11:00 mickey Exp $ */
+/* $OpenBSD: osiop_gsc.c,v 1.5 2003/05/06 22:01:43 mickey Exp $ */
/* $NetBSD: osiop_gsc.c,v 1.6 2002/10/02 05:17:50 thorpej Exp $ */
/*
@@ -128,15 +128,18 @@ osiop_gsc_attach(parent, self, aux)
sc->sc_clock_freq = 50;
if (ga->ga_ca.ca_type.iodc_sv_model == HPPA_FIO_GSCSI) {
- sc->sc_ctest7 = 0; /* | OSIOP_CTEST7_TT1 */
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_ctest7 = 0;
sc->sc_dcntl = 0;
+ sc->sc_ctest7 = 0;
+ sc->sc_dmode = 0; /* | OSIOP_DMODE_FC2 */
}
sc->sc_flags = 0;
- sc->sc_id = 7;
+ sc->sc_id = 7; /* XXX */
/*
* Reset the SCSI subsystem.
diff --git a/sys/dev/ic/osiop.c b/sys/dev/ic/osiop.c
index 72900c9455b..e1a54b8942c 100644
--- a/sys/dev/ic/osiop.c
+++ b/sys/dev/ic/osiop.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: osiop.c,v 1.9 2003/04/12 01:16:57 krw Exp $ */
+/* $OpenBSD: osiop.c,v 1.10 2003/05/06 22:01:43 mickey Exp $ */
/* $NetBSD: osiop.c,v 1.9 2002/04/05 18:27:54 bouyer Exp $ */
/*
@@ -879,7 +879,7 @@ osiop_reset(sc)
OSIOP_ARB_FULL | OSIOP_SCNTL0_EPC | OSIOP_SCNTL0_EPG);
osiop_write_1(sc, OSIOP_SCNTL1, OSIOP_SCNTL1_ESR);
osiop_write_1(sc, OSIOP_DCNTL, sc->sc_dcntl);
- osiop_write_1(sc, OSIOP_DMODE, OSIOP_DMODE_BL4);
+ osiop_write_1(sc, OSIOP_DMODE, sc->sc_dmode);
/* don't enable interrupts yet */
osiop_write_1(sc, OSIOP_SIEN, 0x00);
osiop_write_1(sc, OSIOP_DIEN, 0x00);
diff --git a/sys/dev/ic/osiopvar.h b/sys/dev/ic/osiopvar.h
index e78fefa98fa..2e9acd7f309 100644
--- a/sys/dev/ic/osiopvar.h
+++ b/sys/dev/ic/osiopvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: osiopvar.h,v 1.3 2003/04/08 18:03:46 krw Exp $ */
+/* $OpenBSD: osiopvar.h,v 1.4 2003/05/06 22:01:43 mickey Exp $ */
/* $NetBSD: osiopvar.h,v 1.3 2002/05/14 02:58:35 matt Exp $ */
/*
@@ -239,6 +239,7 @@ struct osiop_softc {
u_int8_t sc_istat;
u_int8_t sc_dcntl;
u_int8_t sc_ctest7;
+ u_int8_t sc_dmode;
u_int8_t sc_sien;
u_int8_t sc_dien;
};