summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/Kconfig1
-rw-r--r--drivers/net/ethernet/Makefile1
-rw-r--r--drivers/net/ethernet/intel/Kconfig220
-rw-r--r--drivers/net/ethernet/intel/Makefile12
-rw-r--r--drivers/net/ethernet/intel/e100.c3109
-rw-r--r--drivers/net/ethernet/intel/e1000/Makefile35
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000.h361
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_ethtool.c1863
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_hw.c5824
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_hw.h3103
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_main.c4974
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_osdep.h109
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_param.c755
-rw-r--r--drivers/net/ethernet/intel/e1000e/80003es2lan.c1516
-rw-r--r--drivers/net/ethernet/intel/e1000e/82571.c2115
-rw-r--r--drivers/net/ethernet/intel/e1000e/Makefile37
-rw-r--r--drivers/net/ethernet/intel/e1000e/defines.h844
-rw-r--r--drivers/net/ethernet/intel/e1000e/e1000.h736
-rw-r--r--drivers/net/ethernet/intel/e1000e/ethtool.c2081
-rw-r--r--drivers/net/ethernet/intel/e1000e/hw.h984
-rw-r--r--drivers/net/ethernet/intel/e1000e/ich8lan.c4111
-rw-r--r--drivers/net/ethernet/intel/e1000e/lib.c2692
-rw-r--r--drivers/net/ethernet/intel/e1000e/netdev.c6312
-rw-r--r--drivers/net/ethernet/intel/e1000e/param.c478
-rw-r--r--drivers/net/ethernet/intel/e1000e/phy.c3377
-rw-r--r--drivers/net/ethernet/intel/igb/Makefile37
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_82575.c2084
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_82575.h258
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_defines.h834
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_hw.h529
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_mac.c1421
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_mac.h90
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_mbx.c446
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_mbx.h77
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_nvm.c713
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_nvm.h43
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_phy.c2341
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_phy.h136
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_regs.h354
-rw-r--r--drivers/net/ethernet/intel/igb/igb.h415
-rw-r--r--drivers/net/ethernet/intel/igb/igb_ethtool.c2201
-rw-r--r--drivers/net/ethernet/intel/igb/igb_main.c6890
-rw-r--r--drivers/net/ethernet/intel/igbvf/Makefile38
-rw-r--r--drivers/net/ethernet/intel/igbvf/defines.h125
-rw-r--r--drivers/net/ethernet/intel/igbvf/ethtool.c534
-rw-r--r--drivers/net/ethernet/intel/igbvf/igbvf.h326
-rw-r--r--drivers/net/ethernet/intel/igbvf/mbx.c350
-rw-r--r--drivers/net/ethernet/intel/igbvf/mbx.h75
-rw-r--r--drivers/net/ethernet/intel/igbvf/netdev.c2859
-rw-r--r--drivers/net/ethernet/intel/igbvf/regs.h108
-rw-r--r--drivers/net/ethernet/intel/igbvf/vf.c402
-rw-r--r--drivers/net/ethernet/intel/igbvf/vf.h266
-rw-r--r--drivers/net/ethernet/intel/ixgb/Makefile35
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb.h217
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_ee.c607
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_ee.h106
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_ethtool.c758
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_hw.c1262
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_hw.h801
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_ids.h53
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_main.c2332
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_osdep.h63
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_param.c469
-rw-r--r--drivers/net/ethernet/intel/ixgbe/Makefile42
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe.h617
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c1353
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c2263
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_common.c3510
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_common.h145
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c320
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.h167
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.c297
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.h97
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c346
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.h123
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c816
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c2592
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c836
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.h81
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c7934
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c471
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h93
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c1725
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h131
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c687
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h46
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_type.h2877
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c941
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/Makefile38
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/defines.h297
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/ethtool.c742
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/ixgbevf.h318
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c3523
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/mbx.c341
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/mbx.h99
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/regs.h85
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/vf.c426
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/vf.h174
98 files changed, 110858 insertions, 0 deletions
diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig
index 69d6403ec4bd..a2fd38562cb3 100644
--- a/drivers/net/ethernet/Kconfig
+++ b/drivers/net/ethernet/Kconfig
@@ -16,5 +16,6 @@ source "drivers/net/ethernet/8390/Kconfig"
source "drivers/net/ethernet/amd/Kconfig"
source "drivers/net/ethernet/broadcom/Kconfig"
source "drivers/net/ethernet/chelsio/Kconfig"
+source "drivers/net/ethernet/intel/Kconfig"
endif # ETHERNET
diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile
index 470e5d843013..526527177d13 100644
--- a/drivers/net/ethernet/Makefile
+++ b/drivers/net/ethernet/Makefile
@@ -7,3 +7,4 @@ obj-$(CONFIG_NET_VENDOR_8390) += 8390/
obj-$(CONFIG_NET_VENDOR_AMD) += amd/
obj-$(CONFIG_NET_VENDOR_BROADCOM) += broadcom/
obj-$(CONFIG_NET_VENDOR_CHELSIO) += chelsio/
+obj-$(CONFIG_NET_VENDOR_INTEL) += intel/
diff --git a/drivers/net/ethernet/intel/Kconfig b/drivers/net/ethernet/intel/Kconfig
new file mode 100644
index 000000000000..5fe185ba07bc
--- /dev/null
+++ b/drivers/net/ethernet/intel/Kconfig
@@ -0,0 +1,220 @@
+#
+# Intel network device configuration
+#
+
+config NET_VENDOR_INTEL
+ bool "Intel devices"
+ depends on PCI || PCI_MSI
+ ---help---
+ If you have a network (Ethernet) card belonging to this class, say Y
+ and read the Ethernet-HOWTO, available from
+ <http://www.tldp.org/docs.html#howto>.
+
+ Note that the answer to this question doesn't directly affect the
+ kernel: saying N will just cause the configurator to skip all
+ the questions about Intel cards. If you say Y, you will be asked for
+ your specific card in the following questions.
+
+if NET_VENDOR_INTEL
+
+config E100
+ tristate "Intel(R) PRO/100+ support"
+ depends on PCI
+ select MII
+ ---help---
+ This driver supports Intel(R) PRO/100 family of adapters.
+ To verify that your adapter is supported, find the board ID number
+ on the adapter. Look for a label that has a barcode and a number
+ in the format 123456-001 (six digits hyphen three digits).
+
+ Use the above information and the Adapter & Driver ID Guide at:
+
+ <http://support.intel.com/support/network/adapter/pro100/21397.htm>
+
+ to identify the adapter.
+
+ For the latest Intel PRO/100 network driver for Linux, see:
+
+ <http://www.intel.com/p/en_US/support/highlights/network/pro100plus>
+
+ More specific information on configuring the driver is in
+ <file:Documentation/networking/e100.txt>.
+
+ To compile this driver as a module, choose M here. The module
+ will be called e100.
+
+config E1000
+ tristate "Intel(R) PRO/1000 Gigabit Ethernet support"
+ depends on PCI
+ ---help---
+ This driver supports Intel(R) PRO/1000 gigabit ethernet family of
+ adapters. For more information on how to identify your adapter, go
+ to the Adapter & Driver ID Guide at:
+
+ <http://support.intel.com/support/network/adapter/pro100/21397.htm>
+
+ For general information and support, go to the Intel support
+ website at:
+
+ <http://support.intel.com>
+
+ More specific information on configuring the driver is in
+ <file:Documentation/networking/e1000.txt>.
+
+ To compile this driver as a module, choose M here. The module
+ will be called e1000.
+
+config E1000E
+ tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support"
+ depends on PCI && (!SPARC32 || BROKEN)
+ select CRC32
+ ---help---
+ This driver supports the PCI-Express Intel(R) PRO/1000 gigabit
+ ethernet family of adapters. For PCI or PCI-X e1000 adapters,
+ use the regular e1000 driver For more information on how to
+ identify your adapter, go to the Adapter & Driver ID Guide at:
+
+ <http://support.intel.com/support/network/adapter/pro100/21397.htm>
+
+ For general information and support, go to the Intel support
+ website at:
+
+ <http://support.intel.com>
+
+ To compile this driver as a module, choose M here. The module
+ will be called e1000e.
+
+config IGB
+ tristate "Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support"
+ depends on PCI
+ ---help---
+ This driver supports Intel(R) 82575/82576 gigabit ethernet family of
+ adapters. For more information on how to identify your adapter, go
+ to the Adapter & Driver ID Guide at:
+
+ <http://support.intel.com/support/network/adapter/pro100/21397.htm>
+
+ For general information and support, go to the Intel support
+ website at:
+
+ <http://support.intel.com>
+
+ More specific information on configuring the driver is in
+ <file:Documentation/networking/e1000.txt>.
+
+ To compile this driver as a module, choose M here. The module
+ will be called igb.
+
+config IGB_DCA
+ bool "Direct Cache Access (DCA) Support"
+ default y
+ depends on IGB && DCA && !(IGB=y && DCA=m)
+ ---help---
+ Say Y here if you want to use Direct Cache Access (DCA) in the
+ driver. DCA is a method for warming the CPU cache before data
+ is used, with the intent of lessening the impact of cache misses.
+
+config IGBVF
+ tristate "Intel(R) 82576 Virtual Function Ethernet support"
+ depends on PCI
+ ---help---
+ This driver supports Intel(R) 82576 virtual functions. For more
+ information on how to identify your adapter, go to the Adapter &
+ Driver ID Guide at:
+
+ <http://support.intel.com/support/network/adapter/pro100/21397.htm>
+
+ For general information and support, go to the Intel support
+ website at:
+
+ <http://support.intel.com>
+
+ More specific information on configuring the driver is in
+ <file:Documentation/networking/e1000.txt>.
+
+ To compile this driver as a module, choose M here. The module
+ will be called igbvf.
+
+config IXGB
+ tristate "Intel(R) PRO/10GbE support"
+ depends on PCI
+ ---help---
+ This driver supports Intel(R) PRO/10GbE family of adapters for
+ PCI-X type cards. For PCI-E type cards, use the "ixgbe" driver
+ instead. For more information on how to identify your adapter, go
+ to the Adapter & Driver ID Guide at:
+
+ <http://support.intel.com/support/network/adapter/pro100/21397.htm>
+
+ For general information and support, go to the Intel support
+ website at:
+
+ <http://support.intel.com>
+
+ More specific information on configuring the driver is in
+ <file:Documentation/networking/ixgb.txt>.
+
+ To compile this driver as a module, choose M here. The module
+ will be called ixgb.
+
+config IXGBE
+ tristate "Intel(R) 10GbE PCI Express adapters support"
+ depends on PCI && INET
+ select MDIO
+ ---help---
+ This driver supports Intel(R) 10GbE PCI Express family of
+ adapters. For more information on how to identify your adapter, go
+ to the Adapter & Driver ID Guide at:
+
+ <http://support.intel.com/support/network/adapter/pro100/21397.htm>
+
+ For general information and support, go to the Intel support
+ website at:
+
+ <http://support.intel.com>
+
+ To compile this driver as a module, choose M here. The module
+ will be called ixgbe.
+
+config IXGBE_DCA
+ bool "Direct Cache Access (DCA) Support"
+ default y
+ depends on IXGBE && DCA && !(IXGBE=y && DCA=m)
+ ---help---
+ Say Y here if you want to use Direct Cache Access (DCA) in the
+ driver. DCA is a method for warming the CPU cache before data
+ is used, with the intent of lessening the impact of cache misses.
+
+config IXGBE_DCB
+ bool "Data Center Bridging (DCB) Support"
+ default n
+ depends on IXGBE && DCB
+ ---help---
+ Say Y here if you want to use Data Center Bridging (DCB) in the
+ driver.
+
+ If unsure, say N.
+
+config IXGBEVF
+ tristate "Intel(R) 82599 Virtual Function Ethernet support"
+ depends on PCI_MSI
+ ---help---
+ This driver supports Intel(R) 82599 virtual functions. For more
+ information on how to identify your adapter, go to the Adapter &
+ Driver ID Guide at:
+
+ <http://support.intel.com/support/network/sb/CS-008441.htm>
+
+ For general information and support, go to the Intel support
+ website at:
+
+ <http://support.intel.com>
+
+ More specific information on configuring the driver is in
+ <file:Documentation/networking/ixgbevf.txt>.
+
+ To compile this driver as a module, choose M here. The module
+ will be called ixgbevf. MSI-X interrupt support is required
+ for this driver to work correctly.
+
+endif # NET_VENDOR_INTEL
diff --git a/drivers/net/ethernet/intel/Makefile b/drivers/net/ethernet/intel/Makefile
new file mode 100644
index 000000000000..c8210e688669
--- /dev/null
+++ b/drivers/net/ethernet/intel/Makefile
@@ -0,0 +1,12 @@
+#
+# Makefile for the Intel network device drivers.
+#
+
+obj-$(CONFIG_E100) += e100.o
+obj-$(CONFIG_E1000) += e1000/
+obj-$(CONFIG_E1000E) += e1000e/
+obj-$(CONFIG_IGB) += igb/
+obj-$(CONFIG_IGBVF) += igbvf/
+obj-$(CONFIG_IXGBE) += ixgbe/
+obj-$(CONFIG_IXGBEVF) += ixgbevf/
+obj-$(CONFIG_IXGB) += ixgb/
diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
new file mode 100644
index 000000000000..c1352c60c299
--- /dev/null
+++ b/drivers/net/ethernet/intel/e100.c
@@ -0,0 +1,3109 @@
+/*******************************************************************************
+
+ Intel PRO/100 Linux driver
+ Copyright(c) 1999 - 2006 Intel Corporation.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms and conditions of the GNU General Public License,
+ version 2, as published by the Free Software Foundation.
+
+ This program is distributed in the hope it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along with
+ this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+
+ The full GNU General Public License is included in this distribution in
+ the file called "COPYING".
+
+ Contact Information:
+ Linux NICS <linux.nics@intel.com>
+ e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>