kernel-ark/drivers/net
Michael Chan 6892914fb7 [TG3]: Add indirect register method for 5703 behind ICH
This patch adds the new workaround for 5703 A1/A2 if it is behind
certain ICH bridges. The workaround disables memory and uses config.
cycles only to access all registers. The 5702/03 chips can mistakenly
decode the special cycles from the ICH chipsets as memory write cycles,
causing corruption of register and memory space. Only certain ICH
bridges will drive special cycles with non-zero data during the address
phase which can fall within the 5703's address range. This is not an ICH
bug as the PCI spec allows non-zero address during special cycles.
However, only these ICH bridges are known to drive non-zero addresses
during special cycles.

The indirect_lock is also changed to spin_lock_irqsave from spin_lock_bh
because it is used in irq handler when using the indirect method to
disable interrupts.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-08-29 15:50:42 -07:00
..
appletalk
arcnet
arm
bonding [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
cris
e1000 [PATCH] e1000 printk warning fix 2 2005-08-19 03:12:16 -04:00
fec_8xx
hamradio [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
ibm_emac [PATCH] bogus iounmap() in emac 2005-08-26 16:30:30 -07:00
irda
ixgb [PATCH] ixgb: Driver version, white space, comments 2005-08-11 17:09:25 -04:00
pcmcia [PATCH] network: fix fmvj18x_cs multicast code 2005-08-19 03:11:38 -04:00
phy [PATCH] PHY Layer fixup 2005-08-28 20:28:25 -04:00
sk98lin [PATCH] skge build fix 2005-08-01 19:13:59 -07:00
skfp
tokenring Merge upstream into 'upstream' branch of netdev-2.6.git. 2005-08-24 01:03:34 -04:00
tulip
wan [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
wireless Merge upstream into 'upstream' branch of netdev-2.6.git. 2005-08-24 01:03:34 -04:00
3c59x.c
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
3c505.h
3c507.c
3c509.c
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c [PATCH] 8139cp - redetect link after suspend 2005-08-18 16:59:14 -04:00
8139too.c [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
8390.c
8390.h
82596.c
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c
acenic.h
amd8111e.c [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
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
cs89x0.c [PATCH] silence cs89x0 2005-08-01 19:14:01 -07:00
cs89x0.h [PATCH] silence cs89x0 2005-08-01 19:14:01 -07:00
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 [PATCH] DM9000 - incorrect ioctl() handling 2005-08-18 16:59:14 -04:00
dm9000.h
dummy.c
e100.c
e2100.c
eepro100.c [netdrvr eepro100] check for skb==NULL before calling rx_align(skb) 2005-08-19 03:52:49 -04:00
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 [PATCH] forcedeth: Initialize link settings in every nv_open() 2005-08-19 02:12:16 -04:00
gianfar_ethtool.c
gianfar_phy.c
gianfar_phy.h
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
ioc3-eth.c [PATCH] IOC3 fixes 2005-08-18 16:59:14 -04:00
isa-skeleton.c
iseries_veth.c
iseries_veth.h
jazzsonic.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
Kconfig Merge upstream into 'upstream' branch of netdev-2.6.git. 2005-08-24 01:03:34 -04:00
lance.c
lasi_82596.c
LICENSE.SRC
lne390.c
loopback.c Merge /spare/repo/linux-2.6/ 2005-08-18 22:14:39 -04:00
lp486e.c
mac89x0.c
mac8390.c
mace.c
mace.h
macmace.c
macsonic.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
Makefile This patch adds a PHY Abstraction Layer to the Linux Kernel, enabling 2005-07-30 19:31:23 -04:00
meth.c
meth.h
mii.c
mv643xx_eth.c [PATCH] mv643xx: add workaround for HW checksum generation bug 2005-08-23 00:51:34 -04:00
mv643xx_eth.h [PATCH] mv643xx: add workaround for HW checksum generation bug 2005-08-23 00:51:34 -04:00
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 [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
netconsole.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
ns83820.c
oaknet.c
pci-skeleton.c [PATCH] drivers/net/pci-skeleton.c: MODULE_PARM -> module_param 2005-07-31 00:54:14 -04:00
pcnet32.c
plip.c [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
ppp_async.c
ppp_deflate.c
ppp_generic.c [NET]: Remove explicit initializations of skb->input_dev 2005-08-29 15:33:26 -07:00
ppp_synctty.c
pppoe.c [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
pppox.c
r8169.c [PATCH] r8169: avoid conflict between revisions 2 and 3 of the Linksys EG1032 2005-08-27 04:41:01 -04:00
rrunner.c [NET]: Remove HIPPI private from skbuff.h 2005-08-29 15:31:42 -07:00
rrunner.h
s2io-regs.h [PATCH] S2io: New link handling scheme for Xframe II 2005-08-11 00:10:45 -04:00
s2io.c [PATCH] S2io: Hardware fixes for Xframe II adapter 2005-08-19 21:42:06 -04:00
s2io.h [PATCH] S2io: Errors found during review 2005-08-11 00:10:46 -04:00
saa9730.c
saa9730.h
sb1000.c
sb1250-mac.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
shaper.c [NET]: Kill skb->list 2005-08-29 15:31:14 -07:00
sis900.c
sis900.h
sk_mca.c
sk_mca.h
skge.c [PATCH] r8169: avoid conflict between revisions 2 and 3 of the Linksys EG1032 2005-08-27 04:41:01 -04:00
skge.h [PATCH] skge: fibre vs copper detection cleanup 2005-08-16 17:03:13 -04:00
slhc.c
slip.c
slip.h
smc91x.c
smc91x.h [PATCH] Fix OMAP specific typo in smc91x.h 2005-07-31 00:55:11 -04:00
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c [PATCH] missing include in smc-ultra 2005-08-29 10:42:40 -07:00
sonic.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
sonic.h [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
Space.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
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 indirect register method for 5703 behind ICH 2005-08-29 15:50:42 -07:00
tg3.h [TG3]: Add indirect register method for 5703 behind ICH 2005-08-29 15:50:42 -07:00
tlan.c
tlan.h
tun.c
typhoon-firmware.h
typhoon.c
typhoon.h
via-rhine.c
via-velocity.c
via-velocity.h [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
wd.c
yellowfin.c
znet.c
zorro8390.c