summaryrefslogtreecommitdiffstats
path: root/sys/dev/re
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2003-09-20 21:18:27 +0000
committerwpaul <wpaul@FreeBSD.org>2003-09-20 21:18:27 +0000
commitb8c0fc27c0f9efc43a0380c24b34717012984ca2 (patch)
tree47f7d371abcd96378d3048bb59df0ca5996589f9 /sys/dev/re
parent7fdb08c0c29e024cb9a9f086836f7e8e7020c0a5 (diff)
downloadFreeBSD-src-b8c0fc27c0f9efc43a0380c24b34717012984ca2.zip
FreeBSD-src-b8c0fc27c0f9efc43a0380c24b34717012984ca2.tar.gz
Remove the dual-address cycle stuff. DAC is used to allow a bus master
device to access 64-bit addresses from a 32-bit PCI bus. While the RealTek manual says you can set this bit and the chip will perform DAC only if you give it a DMA address with any of the upper 32 bits set, this appears not to be the case. If I turn on the DAC bit, the chip sets the 'system error' bit in the status register when I to do a DMA on my Athlon test box with 32-bit PCI bus (VIA chipset) even though I only have 128MB of physical memory, and thus can never give the chip a 64-bit address. Obviously, I can't just set it and forget it, so until I figure out the right rule for when it's safe/necessary to enable it, keep it turned off.
Diffstat (limited to 'sys/dev/re')
-rw-r--r--sys/dev/re/if_re.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c
index a339d84..004c4c6 100644
--- a/sys/dev/re/if_re.c
+++ b/sys/dev/re/if_re.c
@@ -2081,14 +2081,12 @@ re_init(xsc)
/*
* Enable C+ RX and TX mode, as well as VLAN stripping and
- * RX checksum offload. Only enable dual-address cycle if
- * we're on a 64-bit bus. We must configure the C+ register
+ * RX checksum offload. We must configure the C+ register
* before all others.
*/
CSR_WRITE_2(sc, RL_CPLUS_CMD, RL_CPLUSCMD_RXENB|
RL_CPLUSCMD_TXENB|RL_CPLUSCMD_PCI_MRW|
- (CSR_READ_1(sc, RL_CFG2) & RL_BUSWIDTH_64BITS ?
- RL_CPLUSCMD_PCI_DAC : 0)|RL_CPLUSCMD_VLANSTRIP|
+ RL_CPLUSCMD_VLANSTRIP|
(ifp->if_capenable & IFCAP_RXCSUM ?
RL_CPLUSCMD_RXCSUM_ENB : 0));
OpenPOWER on IntegriCloud