Commit e485f3a6 authored by Tony Nguyen's avatar Tony Nguyen Committed by David S. Miller

ixgb: Remove ixgb driver

There are likely no users of this driver as the hardware has been
discontinued since 2010. Remove the driver and all references to it
in documentation.
Suggested-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
Acked-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a593a2fc
...@@ -418,7 +418,6 @@ That is, the recovery API only requires that: ...@@ -418,7 +418,6 @@ That is, the recovery API only requires that:
- drivers/next/e100.c - drivers/next/e100.c
- drivers/net/e1000 - drivers/net/e1000
- drivers/net/e1000e - drivers/net/e1000e
- drivers/net/ixgb
- drivers/net/ixgbe - drivers/net/ixgbe
- drivers/net/cxgb3 - drivers/net/cxgb3
- drivers/net/s2io.c - drivers/net/s2io.c
......
...@@ -31,7 +31,6 @@ Contents: ...@@ -31,7 +31,6 @@ Contents:
intel/fm10k intel/fm10k
intel/igb intel/igb
intel/igbvf intel/igbvf
intel/ixgb
intel/ixgbe intel/ixgbe
intel/ixgbevf intel/ixgbevf
intel/i40e intel/i40e
......
...@@ -487,7 +487,6 @@ CONFIG_CHELSIO_T4=m ...@@ -487,7 +487,6 @@ CONFIG_CHELSIO_T4=m
CONFIG_E1000=y CONFIG_E1000=y
CONFIG_E1000E=y CONFIG_E1000E=y
CONFIG_IGB=y CONFIG_IGB=y
CONFIG_IXGB=y
CONFIG_IXGBE=y CONFIG_IXGBE=y
# CONFIG_NET_VENDOR_MARVELL is not set # CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set # CONFIG_NET_VENDOR_MELLANOX is not set
......
...@@ -154,7 +154,6 @@ CONFIG_TUN=m ...@@ -154,7 +154,6 @@ CONFIG_TUN=m
CONFIG_E1000=y CONFIG_E1000=y
CONFIG_E1000E=y CONFIG_E1000E=y
CONFIG_IGB=y CONFIG_IGB=y
CONFIG_IXGB=y
CONFIG_IXGBE=y CONFIG_IXGBE=y
# CONFIG_NET_VENDOR_MARVELL is not set # CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set # CONFIG_NET_VENDOR_MELLANOX is not set
......
...@@ -207,7 +207,6 @@ CONFIG_VIRTIO_NET=m ...@@ -207,7 +207,6 @@ CONFIG_VIRTIO_NET=m
CONFIG_E1000=y CONFIG_E1000=y
CONFIG_E1000E=y CONFIG_E1000E=y
CONFIG_IGB=y CONFIG_IGB=y
CONFIG_IXGB=y
CONFIG_IXGBE=y CONFIG_IXGBE=y
# CONFIG_NET_VENDOR_MARVELL is not set # CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set # CONFIG_NET_VENDOR_MELLANOX is not set
......
...@@ -280,7 +280,6 @@ CONFIG_SUNDANCE=m ...@@ -280,7 +280,6 @@ CONFIG_SUNDANCE=m
CONFIG_PCMCIA_FMVJ18X=m CONFIG_PCMCIA_FMVJ18X=m
CONFIG_E100=m CONFIG_E100=m
CONFIG_E1000=m CONFIG_E1000=m
CONFIG_IXGB=m
CONFIG_SKGE=m CONFIG_SKGE=m
CONFIG_SKY2=m CONFIG_SKY2=m
CONFIG_MYRI10GE=m CONFIG_MYRI10GE=m
......
...@@ -170,7 +170,6 @@ CONFIG_S2IO=m ...@@ -170,7 +170,6 @@ CONFIG_S2IO=m
CONFIG_E100=y CONFIG_E100=y
CONFIG_E1000=y CONFIG_E1000=y
CONFIG_E1000E=y CONFIG_E1000E=y
CONFIG_IXGB=m
CONFIG_IXGBE=m CONFIG_IXGBE=m
CONFIG_I40E=m CONFIG_I40E=m
CONFIG_MLX4_EN=m CONFIG_MLX4_EN=m
......
...@@ -182,7 +182,6 @@ CONFIG_IBMVNIC=m ...@@ -182,7 +182,6 @@ CONFIG_IBMVNIC=m
CONFIG_E100=y CONFIG_E100=y
CONFIG_E1000=y CONFIG_E1000=y
CONFIG_E1000E=y CONFIG_E1000E=y
CONFIG_IXGB=m
CONFIG_IXGBE=m CONFIG_IXGBE=m
CONFIG_I40E=m CONFIG_I40E=m
CONFIG_MLX4_EN=m CONFIG_MLX4_EN=m
......
...@@ -102,7 +102,6 @@ CONFIG_PCNET32=y ...@@ -102,7 +102,6 @@ CONFIG_PCNET32=y
CONFIG_TIGON3=y CONFIG_TIGON3=y
CONFIG_E100=y CONFIG_E100=y
CONFIG_E1000=y CONFIG_E1000=y
CONFIG_IXGB=m
CONFIG_SUNGEM=y CONFIG_SUNGEM=y
CONFIG_BROADCOM_PHY=m CONFIG_BROADCOM_PHY=m
CONFIG_MARVELL_PHY=y CONFIG_MARVELL_PHY=y
......
...@@ -455,7 +455,6 @@ CONFIG_E100=m ...@@ -455,7 +455,6 @@ CONFIG_E100=m
CONFIG_E1000=m CONFIG_E1000=m
CONFIG_E1000E=m CONFIG_E1000E=m
CONFIG_IGB=m CONFIG_IGB=m
CONFIG_IXGB=m
CONFIG_IXGBE=m CONFIG_IXGBE=m
CONFIG_MV643XX_ETH=m CONFIG_MV643XX_ETH=m
CONFIG_SKGE=m CONFIG_SKGE=m
......
...@@ -164,7 +164,6 @@ CONFIG_IBMVNIC=y ...@@ -164,7 +164,6 @@ CONFIG_IBMVNIC=y
CONFIG_E100=y CONFIG_E100=y
CONFIG_E1000=y CONFIG_E1000=y
CONFIG_E1000E=y CONFIG_E1000E=y
CONFIG_IXGB=m
CONFIG_IXGBE=m CONFIG_IXGBE=m
CONFIG_I40E=m CONFIG_I40E=m
CONFIG_MLX4_EN=m CONFIG_MLX4_EN=m
......
...@@ -149,7 +149,6 @@ CONFIG_BE2NET=m ...@@ -149,7 +149,6 @@ CONFIG_BE2NET=m
CONFIG_E1000=m CONFIG_E1000=m
CONFIG_E1000E=m CONFIG_E1000E=m
CONFIG_IGB=m CONFIG_IGB=m
CONFIG_IXGB=m
CONFIG_IXGBE=m CONFIG_IXGBE=m
CONFIG_I40E=m CONFIG_I40E=m
# CONFIG_NET_VENDOR_MARVELL is not set # CONFIG_NET_VENDOR_MARVELL is not set
......
...@@ -139,23 +139,6 @@ config IGBVF ...@@ -139,23 +139,6 @@ config IGBVF
To compile this driver as a module, choose M here. The module To compile this driver as a module, choose M here. The module
will be called igbvf. 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 that can be located at:
<http://support.intel.com>
More specific information on configuring the driver is in
<file:Documentation/networking/device_drivers/ethernet/intel/ixgb.rst>.
To compile this driver as a module, choose M here. The module
will be called ixgb.
config IXGBE config IXGBE
tristate "Intel(R) 10GbE PCI Express adapters support" tristate "Intel(R) 10GbE PCI Express adapters support"
depends on PCI depends on PCI
......
...@@ -12,7 +12,6 @@ obj-$(CONFIG_IGBVF) += igbvf/ ...@@ -12,7 +12,6 @@ obj-$(CONFIG_IGBVF) += igbvf/
obj-$(CONFIG_IXGBE) += ixgbe/ obj-$(CONFIG_IXGBE) += ixgbe/
obj-$(CONFIG_IXGBEVF) += ixgbevf/ obj-$(CONFIG_IXGBEVF) += ixgbevf/
obj-$(CONFIG_I40E) += i40e/ obj-$(CONFIG_I40E) += i40e/
obj-$(CONFIG_IXGB) += ixgb/
obj-$(CONFIG_IAVF) += iavf/ obj-$(CONFIG_IAVF) += iavf/
obj-$(CONFIG_FM10K) += fm10k/ obj-$(CONFIG_FM10K) += fm10k/
obj-$(CONFIG_ICE) += ice/ obj-$(CONFIG_ICE) += ice/
# SPDX-License-Identifier: GPL-2.0
# Copyright(c) 1999 - 2008 Intel Corporation.
#
# Makefile for the Intel(R) PRO/10GbE ethernet driver
#
obj-$(CONFIG_IXGB) += ixgb.o
ixgb-objs := ixgb_main.o ixgb_hw.o ixgb_ee.o ixgb_ethtool.o ixgb_param.o
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright(c) 1999 - 2008 Intel Corporation. */
#ifndef _IXGB_H_
#define _IXGB_H_
#include <linux/stddef.h>
#include <linux/module.h>
#include <linux/types.h>
#include <asm/byteorder.h>
#include <linux/mm.h>
#include <linux/errno.h>
#include <linux/ioport.h>
#include <linux/pci.h>
#include <linux/kernel.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/delay.h>
#include <linux/timer.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/interrupt.h>
#include <linux/string.h>
#include <linux/pagemap.h>
#include <linux/dma-mapping.h>
#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <linux/capability.h>
#include <linux/in.h>
#include <linux/ip.h>
#include <linux/tcp.h>
#include <linux/udp.h>
#include <net/pkt_sched.h>
#include <linux/list.h>
#include <linux/reboot.h>
#include <net/checksum.h>
#include <linux/ethtool.h>
#include <linux/if_vlan.h>
#define BAR_0 0
#define BAR_1 1
struct ixgb_adapter;
#include "ixgb_hw.h"
#include "ixgb_ee.h"
#include "ixgb_ids.h"
/* TX/RX descriptor defines */
#define DEFAULT_TXD 256
#define MAX_TXD 4096
#define MIN_TXD 64
/* hardware cannot reliably support more than 512 descriptors owned by
* hardware descriptor cache otherwise an unreliable ring under heavy
* receive load may result */
#define DEFAULT_RXD 512
#define MAX_RXD 512
#define MIN_RXD 64
/* Supported Rx Buffer Sizes */
#define IXGB_RXBUFFER_2048 2048
#define IXGB_RXBUFFER_4096 4096
#define IXGB_RXBUFFER_8192 8192
#define IXGB_RXBUFFER_16384 16384
/* How many Rx Buffers do we bundle into one write to the hardware ? */
#define IXGB_RX_BUFFER_WRITE 8 /* Must be power of 2 */
/* wrapper around a pointer to a socket buffer,
* so a DMA handle can be stored along with the buffer */
struct ixgb_buffer {
struct sk_buff *skb;
dma_addr_t dma;
unsigned long time_stamp;
u16 length;
u16 next_to_watch;
u16 mapped_as_page;
};
struct ixgb_desc_ring {
/* pointer to the descriptor ring memory */
void *desc;
/* physical address of the descriptor ring */
dma_addr_t dma;
/* length of descriptor ring in bytes */
unsigned int size;
/* number of descriptors in the ring */
unsigned int count;
/* next descriptor to associate a buffer with */
unsigned int next_to_use;
/* next descriptor to check for DD status bit */
unsigned int next_to_clean;
/* array of buffer information structs */
struct ixgb_buffer *buffer_info;
};
#define IXGB_DESC_UNUSED(R) \
((((R)->next_to_clean > (R)->next_to_use) ? 0 : (R)->count) + \
(R)->next_to_clean - (R)->next_to_use - 1)
#define IXGB_GET_DESC(R, i, type) (&(((struct type *)((R).desc))[i]))
#define IXGB_RX_DESC(R, i) IXGB_GET_DESC(R, i, ixgb_rx_desc)
#define IXGB_TX_DESC(R, i) IXGB_GET_DESC(R, i, ixgb_tx_desc)
#define IXGB_CONTEXT_DESC(R, i) IXGB_GET_DESC(R, i, ixgb_context_desc)
/* board specific private data structure */
struct ixgb_adapter {
struct timer_list watchdog_timer;
unsigned long active_vlans[BITS_TO_LONGS(VLAN_N_VID)];
u32 bd_number;
u32 rx_buffer_len;
u32 part_num;
u16 link_speed;
u16 link_duplex;
struct work_struct tx_timeout_task;
/* TX */
struct ixgb_desc_ring tx_ring ____cacheline_aligned_in_smp;
unsigned int restart_queue;
unsigned long timeo_start;
u32 tx_cmd_type;
u64 hw_csum_tx_good;
u64 hw_csum_tx_error;
u32 tx_int_delay;
u32 tx_timeout_count;
bool tx_int_delay_enable;
bool detect_tx_hung;
/* RX */
struct ixgb_desc_ring rx_ring;
u64 hw_csum_rx_error;
u64 hw_csum_rx_good;
u32 rx_int_delay;
bool rx_csum;
/* OS defined structs */
struct napi_struct napi;
struct net_device *netdev;
struct pci_dev *pdev;
/* structs defined in ixgb_hw.h */
struct ixgb_hw hw;
u16 msg_enable;
struct ixgb_hw_stats stats;
u32 alloc_rx_buff_failed;
bool have_msi;
unsigned long flags;
};
enum ixgb_state_t {
/* TBD
__IXGB_TESTING,
__IXGB_RESETTING,
*/
__IXGB_DOWN
};
/* Exported from other modules */
void ixgb_check_options(struct ixgb_adapter *adapter);
void ixgb_set_ethtool_ops(struct net_device *netdev);
extern char ixgb_driver_name[];
void ixgb_set_speed_duplex(struct net_device *netdev);
int ixgb_up(struct ixgb_adapter *adapter);
void ixgb_down(struct ixgb_adapter *adapter, bool kill_watchdog);
void ixgb_reset(struct ixgb_adapter *adapter);
int ixgb_setup_rx_resources(struct ixgb_adapter *adapter);
int ixgb_setup_tx_resources(struct ixgb_adapter *adapter);
void ixgb_free_rx_resources(struct ixgb_adapter *adapter);
void ixgb_free_tx_resources(struct ixgb_adapter *adapter);
void ixgb_update_stats(struct ixgb_adapter *adapter);
#endif /* _IXGB_H_ */
This diff is collapsed.
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright(c) 1999 - 2008 Intel Corporation. */
#ifndef _IXGB_EE_H_
#define _IXGB_EE_H_
#define IXGB_EEPROM_SIZE 64 /* Size in words */
/* EEPROM Commands */
#define EEPROM_READ_OPCODE 0x6 /* EEPROM read opcode */
#define EEPROM_WRITE_OPCODE 0x5 /* EEPROM write opcode */
#define EEPROM_ERASE_OPCODE 0x7 /* EEPROM erase opcode */
#define EEPROM_EWEN_OPCODE 0x13 /* EEPROM erase/write enable */
#define EEPROM_EWDS_OPCODE 0x10 /* EEPROM erase/write disable */
/* EEPROM MAP (Word Offsets) */
#define EEPROM_IA_1_2_REG 0x0000
#define EEPROM_IA_3_4_REG 0x0001
#define EEPROM_IA_5_6_REG 0x0002
#define EEPROM_COMPATIBILITY_REG 0x0003
#define EEPROM_PBA_1_2_REG 0x0008
#define EEPROM_PBA_3_4_REG 0x0009
#define EEPROM_INIT_CONTROL1_REG 0x000A
#define EEPROM_SUBSYS_ID_REG 0x000B
#define EEPROM_SUBVEND_ID_REG 0x000C
#define EEPROM_DEVICE_ID_REG 0x000D
#define EEPROM_VENDOR_ID_REG 0x000E
#define EEPROM_INIT_CONTROL2_REG 0x000F
#define EEPROM_SWDPINS_REG 0x0020
#define EEPROM_CIRCUIT_CTRL_REG 0x0021
#define EEPROM_D0_D3_POWER_REG 0x0022
#define EEPROM_FLASH_VERSION 0x0032
#define EEPROM_CHECKSUM_REG 0x003F
/* Mask bits for fields in Word 0x0a of the EEPROM */
#define EEPROM_ICW1_SIGNATURE_MASK 0xC000
#define EEPROM_ICW1_SIGNATURE_VALID 0x4000
#define EEPROM_ICW1_SIGNATURE_CLEAR 0x0000
/* For checksumming, the sum of all words in the EEPROM should equal 0xBABA. */
#define EEPROM_SUM 0xBABA
/* EEPROM Map Sizes (Byte Counts) */
#define PBA_SIZE 4
/* EEPROM Map defines (WORD OFFSETS)*/
/* EEPROM structure */
struct ixgb_ee_map_type {
u8 mac_addr[ETH_ALEN];
__le16 compatibility;
__le16 reserved1[4];
__le32 pba_number;
__le16 init_ctrl_reg_1;
__le16 subsystem_id;
__le16 subvendor_id;
__le16 device_id;
__le16 vendor_id;
__le16 init_ctrl_reg_2;
__le16 oem_reserved[16];
__le16 swdpins_reg;
__le16 circuit_ctrl_reg;
u8 d3_power;
u8 d0_power;
__le16 reserved2[28];
__le16 checksum;
};
/* EEPROM Functions */
u16 ixgb_read_eeprom(struct ixgb_hw *hw, u16 reg);
bool ixgb_validate_eeprom_checksum(struct ixgb_hw *hw);
void ixgb_update_eeprom_checksum(struct ixgb_hw *hw);
void ixgb_write_eeprom(struct ixgb_hw *hw, u16 reg, u16 data);
#endif /* IXGB_EE_H */
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright(c) 1999 - 2008 Intel Corporation. */
#ifndef _IXGB_IDS_H_
#define _IXGB_IDS_H_
/**********************************************************************
** The Device and Vendor IDs for 10 Gigabit MACs
**********************************************************************/
#define IXGB_DEVICE_ID_82597EX 0x1048
#define IXGB_DEVICE_ID_82597EX_SR 0x1A48
#define IXGB_DEVICE_ID_82597EX_LR 0x1B48
#define IXGB_SUBDEVICE_ID_A11F 0xA11F
#define IXGB_SUBDEVICE_ID_A01F 0xA01F
#define IXGB_DEVICE_ID_82597EX_CX4 0x109E
#define IXGB_SUBDEVICE_ID_A00C 0xA00C
#define IXGB_SUBDEVICE_ID_A01C 0xA01C
#define IXGB_SUBDEVICE_ID_7036 0x7036
#endif /* #ifndef _IXGB_IDS_H_ */
/* End of File */
This diff is collapsed.
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright(c) 1999 - 2008 Intel Corporation. */
/* glue for the OS independent part of ixgb
* includes register access macros
*/
#ifndef _IXGB_OSDEP_H_
#define _IXGB_OSDEP_H_
#include <linux/types.h>
#include <linux/delay.h>
#include <asm/io.h>
#include <linux/interrupt.h>
#include <linux/sched.h>
#include <linux/if_ether.h>
#undef ASSERT
#define ASSERT(x) BUG_ON(!(x))
#define ENTER() pr_debug("%s\n", __func__);
#define IXGB_WRITE_REG(a, reg, value) ( \
writel((value), ((a)->hw_addr + IXGB_##reg)))
#define IXGB_READ_REG(a, reg) ( \
readl((a)->hw_addr + IXGB_##reg))
#define IXGB_WRITE_REG_ARRAY(a, reg, offset, value) ( \
writel((value), ((a)->hw_addr + IXGB_##reg + ((offset) << 2))))
#define IXGB_READ_REG_ARRAY(a, reg, offset) ( \
readl((a)->hw_addr + IXGB_##reg + ((offset) << 2)))
#define IXGB_WRITE_FLUSH(a) IXGB_READ_REG(a, STATUS)
#define IXGB_MEMCPY memcpy
#endif /* _IXGB_OSDEP_H_ */
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment