kernel-ark/drivers/net
Michael Chan 72f2afb8a6 [TG3]: Add DMA address workaround
Add DMA workaround for chips that do not support full 64-bit DMA
addresses.

5714, 5715, and 5780 chips only support DMA addresses less than 40
bits. On 64-bit systems with IOMMU, set the dma_mask to 40-bit so
that pci_map_xxx() calls will map the DMA address below 40 bits if
necessary. On 64-bit systems without IOMMU, set the dma_mask to
64-bit and check for DMA addresses exceeding the limit in
tg3_start_xmit().

5788 only supports 32-bit DMA so need to set the mask appropriately
also.

Thanks to Chris Elmquist at SGI for reporting and helping to debug
the problem on 5714.

Thanks to David Miller for explaining the HIGHMEM and DMA stuff.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-03-06 19:28:35 -08:00
..
appletalk
arcnet
arm
bonding
chelsio [PATCH] chelsio: fix kmalloc failure in t1_espi_create 2006-03-06 14:38:00 -05:00
cris
e1000
fec_8xx
fs_enet
hamradio
ibm_emac
irda
ixgb
ixp2000
pcmcia
phy
sk98lin
skfp
tokenring
tulip
wan
wireless
3c59x.c
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c
8139too.c
8390.c
8390.h
82596.c
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c
acenic.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atari_bionet.c
atari_pamsnet.c
atarilance.c
atp.c
atp.h
au1000_eth.c
au1000_eth.h
b44.c
b44.h
bmac.c
bmac.h
bnx2_fw.h
bnx2.c
bnx2.h
bsd_comp.c
cassini.c
cassini.h
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dgrs.c
dgrs.h
dl2k.c
dl2k.h
dm9000.c
dm9000.h
dummy.c
e100.c
e2100.c
eepro100.c
eepro.c
eexpress.c
eexpress.h
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec.c
fec.h
forcedeth.c
gianfar_ethtool.c
gianfar_mii.c
gianfar_mii.h
gianfar_sysfs.c
gianfar.c
gianfar.h
gt64240eth.h
gt96100eth.c
gt96100eth.h
hamachi.c
hp100.c
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
hydra.h
ibmlana.c
ibmlana.h
ibmveth.c
ibmveth.h
ifb.c
ioc3-eth.c
isa-skeleton.c
iseries_veth.c
jazzsonic.c
Kconfig
lance.c
lasi_82596.c
LICENSE.SRC
lne390.c
loopback.c
lp486e.c
mac89x0.c
mac8390.c
mace.c
mace.h
macmace.c
macsonic.c
Makefile
meth.c
meth.h
mii.c
mipsnet.c
mipsnet.h
mv643xx_eth.c
mv643xx_eth.h
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c
ne2.c
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c
netconsole.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
ns83820.c
oaknet.c
pci-skeleton.c
pcnet32.c
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c
pppox.c
r8169.c
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c
s2io.h
saa9730.c
saa9730.h
sb1000.c
sb1250-mac.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
shaper.c
sis190.c
sis900.c
sis900.h
sk_mca.c
sk_mca.h
skge.c
skge.h
sky2.c
sky2.h
slhc.c
slip.c
slip.h
smc91x.c
smc91x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sonic.c
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c
spider_net.h
starfire_firmware.h
starfire_firmware.pl
starfire.c
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h
sundance.c
sungem_phy.c
sungem_phy.h
sungem.c
sungem.h
sunhme.c
sunhme.h
sunlance.c
sunqe.c
sunqe.h
tc35815.c
tg3.c [TG3]: Add DMA address workaround 2006-03-06 19:28:35 -08:00
tg3.h
tlan.c
tlan.h
tun.c
typhoon-firmware.h
typhoon.c
typhoon.h
via-rhine.c
via-velocity.c
via-velocity.h
wd.c
yellowfin.c
znet.c
zorro8390.c