From edd033746c5a0e5a36770d127ee3a360c27c8cde Mon Sep 17 00:00:00 2001 From: Bill Paul Date: Sat, 20 Sep 2003 21:18:27 +0000 Subject: [PATCH] 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. --- sys/dev/re/if_re.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index a339d84f3804..004c4c6b3fa9 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));