summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorJason Wright <jason@cvs.openbsd.org>1998-01-14 18:30:11 +0000
committerJason Wright <jason@cvs.openbsd.org>1998-01-14 18:30:11 +0000
commitc858ef8e7110821a28015bfea859b7c9f20a6513 (patch)
treed0ca9ccd228a94a641286473e39a7713f7fb66bd /sys/arch
parentd630e088d28f0775bdbeb914e138aaa78e877b72 (diff)
For some reason the 4/300 doesn't like ncr53c9x_dmaselect.
Added code to check to see if parent device == obio, if so, disable dmaselect More research to be done here for a real fix (if possible)
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/sparc/dev/esp.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/arch/sparc/dev/esp.c b/sys/arch/sparc/dev/esp.c
index 34e91117133..8e29e09fac9 100644
--- a/sys/arch/sparc/dev/esp.c
+++ b/sys/arch/sparc/dev/esp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: esp.c,v 1.11 1997/09/17 06:47:08 downsj Exp $ */
+/* $OpenBSD: esp.c,v 1.12 1998/01/14 18:30:10 jason Exp $ */
/* $NetBSD: esp.c,v 1.69 1997/08/27 11:24:18 bouyer Exp $ */
/*
@@ -211,6 +211,7 @@ espattach(parent, self, aux)
struct ncr53c9x_softc *sc = &esc->sc_ncr53c9x;
struct bootpath *bp;
int dmachild = strncmp(parent->dv_xname, "dma", 3) == 0;
+ int use_dmaselect = strncmp(parent->dv_xname, "obio", 4);
/*
* Set up glue for MI code early; we use some of it here.
@@ -401,7 +402,10 @@ espattach(parent, self, aux)
ncr53c9x_attach(sc, &esp_switch, &esp_dev);
/* Turn on target selection using the `dma' method */
- ncr53c9x_dmaselect = 1;
+ /* XXX The Sun 4/300 doesn't handle this very well, so it is */
+ /* XXX disabled if the parent device == "obio" */
+ /* XXX More research to do here... */
+ ncr53c9x_dmaselect = use_dmaselect;
bootpath_store(1, NULL);
}