diff options
author | jmallett <jmallett@FreeBSD.org> | 2010-09-27 20:35:40 +0000 |
---|---|---|
committer | jmallett <jmallett@FreeBSD.org> | 2010-09-27 20:35:40 +0000 |
commit | d70756e83cffc428936856cece50b5aa1895d2e9 (patch) | |
tree | a8f759b1ef0f3583b06c805f415fa08e83f503cd /sys/mips/cavium | |
parent | 1116f27afa2323b68adb7addf76758c6539a93d4 (diff) | |
download | FreeBSD-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/cavium')
-rw-r--r-- | sys/mips/cavium/octopci.c | 4 |
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 |