summaryrefslogtreecommitdiffstats
path: root/sys/mips
diff options
context:
space:
mode:
authorjmallett <jmallett@FreeBSD.org>2010-09-27 20:35:40 +0000
committerjmallett <jmallett@FreeBSD.org>2010-09-27 20:35:40 +0000
commitd70756e83cffc428936856cece50b5aa1895d2e9 (patch)
treea8f759b1ef0f3583b06c805f415fa08e83f503cd /sys/mips
parent1116f27afa2323b68adb7addf76758c6539a93d4 (diff)
downloadFreeBSD-src-d70756e83cffc428936856cece50b5aa1895d2e9.zip
FreeBSD-src-d70756e83cffc428936856cece50b5aa1895d2e9.tar.gz
Give devices lots of time to settle around programming BARs and command
registers. Without this, the settings do not seem to stick for Atheros NICs in the PCI slot of the Lanner MR-320.
Diffstat (limited to 'sys/mips')
-rw-r--r--sys/mips/cavium/octopci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/mips/cavium/octopci.c b/sys/mips/cavium/octopci.c
index b8157f3..b8a3ac0 100644
--- a/sys/mips/cavium/octopci.c
+++ b/sys/mips/cavium/octopci.c
@@ -659,6 +659,8 @@ octopci_init_device(device_t dev, unsigned b, unsigned s, unsigned f, unsigned s
command &= ~(PCIM_CMD_MEMEN | PCIM_CMD_PORTEN);
octopci_write_config(dev, b, s, f, PCIR_COMMAND, command, 1);
+ DELAY(10000);
+
/* Program BARs. */
switch (hdrtype & PCIM_HDRTYPE) {
case PCIM_HDRTYPE_NORMAL:
@@ -685,6 +687,8 @@ octopci_init_device(device_t dev, unsigned b, unsigned s, unsigned f, unsigned s
/* Enable whatever facilities the BARs require. */
octopci_write_config(dev, b, s, f, PCIR_COMMAND, command, 1);
+ DELAY(10000);
+
/*
* Set cache line size. On Octeon it should be 128 bytes,
* but according to Linux some Intel bridges have trouble
OpenPOWER on IntegriCloud