1
linux/net
Lennert Buytenhek 2e5f032095 dsa: add support for the Marvell 88E6131 switch chip
Add support for the Marvell 88E6131 switch chip.  This chip only
supports the original (ethertype-less) DSA tagging format.

On the 88E6131, there is a PHY Polling Unit (PPU) which has exclusive
access to each of the PHYs's MII management registers.  If we want to
talk to the PHYs from software, we have to disable the PPU and wait
for it to complete its current transaction before we can do so, and we
need to re-enable the PPU afterwards to make sure that the switch will
notice changes in link state and speed on the individual ports as they
occur.

Since disabling the PPU is rather slow, and since MII management
accesses are typically done in bursts, this patch keeps the PPU disabled
for 10ms after a software access completes.  This makes handling the
PPU slightly more complex, but speeds up something like running ethtool
on one of the switch slave interfaces from ~300ms to ~30ms on typical
hardware.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Tested-by: Nicolas Pitre <nico@marvell.com>
Tested-by: Peter van Valderen <linux@ddcrew.com>
Tested-by: Dirk Teurlings <dirk@upexia.nl>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-10-08 17:24:09 -07:00
..
9p 9p: fix put_data error handling 2008-09-24 16:22:22 -05:00
802
8021q net: Use hton[sl]() instead of __constant_hton[sl]() where applicable 2008-09-20 22:20:49 -07:00
appletalk
atm net/atm/lec.c: drop code after return 2008-09-22 19:24:45 -07:00
ax25 ax25: Quick fix for making sure unaccepted sockets get destroyed. 2008-10-06 12:53:50 -07:00
bluetooth [Bluetooth] Fix regression from using default link policy 2008-09-12 03:11:54 +02:00
bridge netfilter: xtables: provide invoked family value to extensions 2008-10-08 11:35:20 +02:00
can
core Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-08 14:56:41 -07:00
dccp ipv6: added net argument to ICMP6_INC_STATS_BH 2008-10-08 11:14:13 -07:00
decnet
dsa dsa: add support for the Marvell 88E6131 switch chip 2008-10-08 17:24:09 -07:00
econet
ethernet dsa: add support for original DSA tagging format 2008-10-08 17:19:56 -07:00
ieee80211
ipv4 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-08 14:56:41 -07:00
ipv6 tcpv6: fix option space offsets with md5 2008-10-08 14:36:33 -07:00
ipx
irda
iucv iucv: Fix mismerge again. 2008-09-30 03:03:35 -07:00
key xfrm: MIGRATE enhancements (draft-ebalard-mext-pfkey-enhanced-migrate) 2008-10-05 13:33:42 -07:00
lapb
llc
mac80211 mac80211: avoid "Wireless Event too big" message for assoc response 2008-10-06 19:37:33 -04:00
netfilter Merge branch 'lvs-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-2.6 2008-10-08 14:26:36 -07:00
netlabel
netlink
netrom netrom: Fix sock_orphan() use in nr_release 2008-10-06 12:54:57 -07:00
packet
phonet Phonet: implement GPRS virtual interface over PEP socket 2008-10-05 11:16:16 -07:00
rfkill rfkill: update LEDs for all state changes 2008-10-06 18:14:57 -04:00
rose
rxrpc
sched pkt_sched: Update qdisc requeue stats in dev_requeue_skb() 2008-10-08 11:36:22 -07:00
sctp sctp: shrink sctp_tsnmap some more by removing gabs array 2008-10-08 14:19:01 -07:00
sunrpc net: Use hton[sl]() instead of __constant_hton[sl]() where applicable 2008-09-20 22:20:49 -07:00
tipc
unix
wanrouter
wireless wireless: fix typo in Kconfig. 2008-10-06 18:14:56 -04:00
x25
xfrm xfrm: MIGRATE enhancements (draft-ebalard-mext-pfkey-enhanced-migrate) 2008-10-05 13:33:42 -07:00
compat.c
Kconfig net: Distributed Switch Architecture protocol support 2008-10-08 17:15:19 -07:00
Makefile net: Distributed Switch Architecture protocol support 2008-10-08 17:15:19 -07:00
nonet.c
socket.c sys_paccept: disable paccept() until API design is resolved 2008-09-23 08:09:14 -07:00
sysctl_net.c
TUNABLE