net: Micrel KSZ8841/2 PCI Ethernet driver
authorTristram Ha <Tristram.Ha@micrel.com>
Mon, 8 Feb 2010 11:36:53 +0000 (11:36 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 12 Feb 2010 20:15:21 +0000 (12:15 -0800)
commit8ca86fd83eae6c73db5f6b23ee3a63b77d52c8ee
tree3bbf468bfb1cd02d454c9d53c5787281fddfec20
parent447d8c2603a417cca68240059fbf1babfd27774f
net: Micrel KSZ8841/2 PCI Ethernet driver

This is a new network driver for Micrel KSZ8841/KSZ8842 PCI Ethernet chips.  The same driver can run both chips at the same time.  It supports IPv4 TCP hardware checksumming and so can use scatter/gather transmission.

The KSZ8842 switch has 2 ports.  Some users like to take direct control of those ports.  So KSZ8842 has a multiple devices mode in which the driver creates another network device so that users can specify which port to send packets.  This mode is enabled by passing the "multi_dev=1" parameter to the driver during loading.

The KSZ884X can receive huge frames with size up to 1916 bytes.  To use this feature change the network device MTU from 1500 to 1898.

The KSZ884X driver has 3 packet receive processing functions for the normal mode, multiple devices mode, and huge frame mode.  Those functions are identical except for more checking for the new features.  In normal programming point of view the huge frame version is the one to use because it covers all the cases, but this is done for performance consideration because the target clients for the KSZ884X chips are embedded systems, which unlike desktop PC may not have powerful CPU.

Signed-off-by: Tristram Ha <Tristram.Ha@micrel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ksz884x.c [new file with mode: 0644]