summaryrefslogtreecommitdiff
path: root/sys/dev/pci/ncr.c
diff options
context:
space:
mode:
authorPer Fogelstrom <pefo@cvs.openbsd.org>1998-08-07 16:48:20 +0000
committerPer Fogelstrom <pefo@cvs.openbsd.org>1998-08-07 16:48:20 +0000
commit53796aa2246dd1e12da7ecff86653af747b67da4 (patch)
tree0516b8d9016ab0aa8c330ec65e98f1ce26c3c285 /sys/dev/pci/ncr.c
parentc87fea89216b5ed984732ff34c2a2e8009ea517c (diff)
com.c needs to know about mem mapped ports in ppc systems.
ncr.c and if_de.c needs some hooks for systems with ncr and dec ether chips on the motherboard that runs on odd clocks and doesn't support a srom. srom is emulated in machine dependent code. big endian support for ncr and dec ether finished. the 21040 have some more coding requirements if it is to run BE since it does not have the descriptor endian swap configuration bit.
Diffstat (limited to 'sys/dev/pci/ncr.c')
-rw-r--r--sys/dev/pci/ncr.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/dev/pci/ncr.c b/sys/dev/pci/ncr.c
index 4dcb9dd84c4..9fea3bf6a75 100644
--- a/sys/dev/pci/ncr.c
+++ b/sys/dev/pci/ncr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ncr.c,v 1.40 1998/07/21 07:16:37 downsj Exp $ */
+/* $OpenBSD: ncr.c,v 1.41 1998/08/07 16:48:19 pefo Exp $ */
/* $NetBSD: ncr.c,v 1.63 1997/09/23 02:39:15 perry Exp $ */
/**************************************************************************
@@ -1465,7 +1465,7 @@ static void ncr_attach (pcici_t tag, int unit);
#if 0
static char ident[] =
- "\n$OpenBSD: ncr.c,v 1.40 1998/07/21 07:16:37 downsj Exp $\n";
+ "\n$OpenBSD: ncr.c,v 1.41 1998/08/07 16:48:19 pefo Exp $\n";
#endif
static const u_long ncr_version = NCR_VERSION * 11
@@ -3838,12 +3838,16 @@ static void ncr_attach (pcici_t config_id, int unit)
}
np->maxwide = np->features & FE_WIDE ? 1 : 0;
-#if defined(__mips__) /* XXX FIXME - This is gross XXX */
- np->clock_khz = 66000;
- np->clock_khz = 48000;
+#ifdef NEED_PCI_SCSI_CLOCK_FUNC
+ {
+ int b, d, f;
+ pci_decompose_tag(pc, pa->pa_tag, &b, &d, &f); \
+ if((np->clock_khz = pci_scsi_clock(pc, b, d)) == 0)
+ np->clock_khz = np->features & FE_CLK80 ? 80000 : 40000;
+ }
#else
np->clock_khz = np->features & FE_CLK80 ? 80000 : 40000;
-#endif /*__mips__*/
+#endif
if (np->features & FE_QUAD) np->multiplier = 4;
else if (np->features & FE_DBLR) np->multiplier = 2;
else np->multiplier = 1;