summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/sbus/esp_sbus.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/sys/dev/sbus/esp_sbus.c b/sys/dev/sbus/esp_sbus.c
index e8d4ea6bbd5..7385f17a150 100644
--- a/sys/dev/sbus/esp_sbus.c
+++ b/sys/dev/sbus/esp_sbus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: esp_sbus.c,v 1.2 2001/08/21 14:57:56 jason Exp $ */
+/* $OpenBSD: esp_sbus.c,v 1.3 2001/09/25 23:58:15 jason Exp $ */
/* $NetBSD: esp_sbus.c,v 1.14 2001/04/25 17:53:37 bouyer Exp $ */
/*-
@@ -271,13 +271,13 @@ espattach_sbus(parent, self, aux)
sa->sa_reg[1].sbr_size,
BUS_SPACE_MAP_LINEAR,
0, &esc->sc_reg) != 0) {
- printf("%s @ sbus: cannot map scsi core registers\n",
+ printf("%s: cannot map scsi core registers\n",
self->dv_xname);
return;
}
if (sa->sa_nintr == 0) {
- printf("\n%s: no interrupt property\n", self->dv_xname);
+ printf("%s: no interrupt property\n", self->dv_xname);
return;
}
@@ -287,6 +287,7 @@ espattach_sbus(parent, self, aux)
esc->sc_sd.sd_reset = (void *) ncr53c9x_reset;
sbus_establish(&esc->sc_sd, &sc->sc_dev);
+ printf("%s", self->dv_xname);
espattach(esc, &esp_sbus_glue);
return;
@@ -315,6 +316,13 @@ espattach_sbus(parent, self, aux)
}
/*
+ * The `ESC' DMA chip must be reset before we can access
+ * the esp registers.
+ */
+ if (esc->sc_dma->sc_rev == DMAREV_ESC)
+ DMA_RESET(esc->sc_dma);
+
+ /*
* Map my registers in, if they aren't already in virtual
* address space.
*/
@@ -531,7 +539,7 @@ espattach(esc, gluep)
/* Turn on target selection using the `dma' method */
if (sc->sc_rev != NCR_VARIANT_FAS366)
- ncr53c9x_dmaselect = 1;
+ sc->sc_features |= NCR_F_DMASELECT;
/* Do the common parts of attachment. */
ncr53c9x_attach(sc, &esp_switch, &esp_dev);