diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2003-05-06 22:01:44 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2003-05-06 22:01:44 +0000 |
commit | 12e8b31474927177f0c8e63e2d6d8d6eac721265 (patch) | |
tree | c6ce46fc5049ab52627df1399da2bea76b666ea0 /sys | |
parent | 9b65811fc4a05254132297e403d2ba220fed983a (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.c | 11 | ||||
-rw-r--r-- | sys/dev/ic/osiop.c | 4 | ||||
-rw-r--r-- | sys/dev/ic/osiopvar.h | 3 |
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; }; |