Commit 039f02eb authored by David S. Miller's avatar David S. Miller

Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next-2.6

parents f610b74b 1fc5f038
################################################################################ ################################################################################
# #
# Intel 82575 PCI-Express Ethernet Linux driver # Intel 82575 PCI-Express Ethernet Linux driver
# Copyright(c) 1999 - 2009 Intel Corporation. # Copyright(c) 1999 - 2011 Intel Corporation.
# #
# This program is free software; you can redistribute it and/or modify it # This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License, # under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
...@@ -1156,10 +1156,13 @@ static s32 igb_setup_serdes_link_82575(struct e1000_hw *hw) ...@@ -1156,10 +1156,13 @@ static s32 igb_setup_serdes_link_82575(struct e1000_hw *hw)
{ {
u32 ctrl_ext, ctrl_reg, reg; u32 ctrl_ext, ctrl_reg, reg;
bool pcs_autoneg; bool pcs_autoneg;
s32 ret_val = E1000_SUCCESS;
u16 data;
if ((hw->phy.media_type != e1000_media_type_internal_serdes) && if ((hw->phy.media_type != e1000_media_type_internal_serdes) &&
!igb_sgmii_active_82575(hw)) !igb_sgmii_active_82575(hw))
return 0; return ret_val;
/* /*
* On the 82575, SerDes loopback mode persists until it is * On the 82575, SerDes loopback mode persists until it is
...@@ -1203,6 +1206,18 @@ static s32 igb_setup_serdes_link_82575(struct e1000_hw *hw) ...@@ -1203,6 +1206,18 @@ static s32 igb_setup_serdes_link_82575(struct e1000_hw *hw)
/* disable PCS autoneg and support parallel detect only */ /* disable PCS autoneg and support parallel detect only */
pcs_autoneg = false; pcs_autoneg = false;
default: default:
if (hw->mac.type == e1000_82575 ||
hw->mac.type == e1000_82576) {
ret_val = hw->nvm.ops.read(hw, NVM_COMPAT, 1, &data);
if (ret_val) {
printk(KERN_DEBUG "NVM Read Error\n\n");
return ret_val;
}
if (data & E1000_EEPROM_PCS_AUTONEG_DISABLE_BIT)
pcs_autoneg = false;
}
/* /*
* non-SGMII modes only supports a speed of 1000/Full for the * non-SGMII modes only supports a speed of 1000/Full for the
* link so it is best to just force the MAC and let the pcs * link so it is best to just force the MAC and let the pcs
...@@ -1250,7 +1265,7 @@ static s32 igb_setup_serdes_link_82575(struct e1000_hw *hw) ...@@ -1250,7 +1265,7 @@ static s32 igb_setup_serdes_link_82575(struct e1000_hw *hw)
if (!igb_sgmii_active_82575(hw)) if (!igb_sgmii_active_82575(hw))
igb_force_mac_fc(hw); igb_force_mac_fc(hw);
return 0; return ret_val;
} }
/** /**
...@@ -1735,6 +1750,7 @@ static s32 igb_reset_hw_82580(struct e1000_hw *hw) ...@@ -1735,6 +1750,7 @@ static s32 igb_reset_hw_82580(struct e1000_hw *hw)
ctrl |= E1000_CTRL_RST; ctrl |= E1000_CTRL_RST;
wr32(E1000_CTRL, ctrl); wr32(E1000_CTRL, ctrl);
wrfl();
/* Add delay to insure DEV_RST has time to complete */ /* Add delay to insure DEV_RST has time to complete */
if (global_device_reset) if (global_device_reset)
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
...@@ -243,6 +243,8 @@ struct e1000_adv_tx_context_desc { ...@@ -243,6 +243,8 @@ struct e1000_adv_tx_context_desc {
#define E1000_DTXCTL_MDP_EN 0x0020 #define E1000_DTXCTL_MDP_EN 0x0020
#define E1000_DTXCTL_SPOOF_INT 0x0040 #define E1000_DTXCTL_SPOOF_INT 0x0040
#define E1000_EEPROM_PCS_AUTONEG_DISABLE_BIT (1 << 14)
#define ALL_QUEUES 0xFFFF #define ALL_QUEUES 0xFFFF
/* RX packet buffer size defines */ /* RX packet buffer size defines */
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
...@@ -437,6 +437,7 @@ ...@@ -437,6 +437,7 @@
#define E1000_RAH_POOL_1 0x00040000 #define E1000_RAH_POOL_1 0x00040000
/* Error Codes */ /* Error Codes */
#define E1000_SUCCESS 0
#define E1000_ERR_NVM 1 #define E1000_ERR_NVM 1
#define E1000_ERR_PHY 2 #define E1000_ERR_PHY 2
#define E1000_ERR_CONFIG 3 #define E1000_ERR_CONFIG 3
...@@ -587,8 +588,8 @@ ...@@ -587,8 +588,8 @@
#define E1000_NVM_POLL_READ 0 /* Flag for polling for read complete */ #define E1000_NVM_POLL_READ 0 /* Flag for polling for read complete */
/* NVM Word Offsets */ /* NVM Word Offsets */
#define NVM_ID_LED_SETTINGS 0x0004 #define NVM_COMPAT 0x0003
/* For SERDES output amplitude adjustment. */ #define NVM_ID_LED_SETTINGS 0x0004 /* SERDES output amplitude */
#define NVM_INIT_CONTROL2_REG 0x000F #define NVM_INIT_CONTROL2_REG 0x000F
#define NVM_INIT_CONTROL3_PORT_B 0x0014 #define NVM_INIT_CONTROL3_PORT_B 0x0014
#define NVM_INIT_CONTROL3_PORT_A 0x0024 #define NVM_INIT_CONTROL3_PORT_A 0x0024
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007 Intel Corporation. Copyright(c) 2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
/******************************************************************************* /*******************************************************************************
Intel(R) Gigabit Ethernet Linux driver Intel(R) Gigabit Ethernet Linux driver
Copyright(c) 2007-2009 Intel Corporation. Copyright(c) 2007-2011 Intel Corporation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License, under the terms and conditions of the GNU General Public License,
......
...@@ -5155,8 +5155,6 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter) ...@@ -5155,8 +5155,6 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter)
adapter->flags2 |= IXGBE_FLAG2_RSC_ENABLED; adapter->flags2 |= IXGBE_FLAG2_RSC_ENABLED;
if (hw->device_id == IXGBE_DEV_ID_82599_T3_LOM) if (hw->device_id == IXGBE_DEV_ID_82599_T3_LOM)
adapter->flags2 |= IXGBE_FLAG2_TEMP_SENSOR_CAPABLE; adapter->flags2 |= IXGBE_FLAG2_TEMP_SENSOR_CAPABLE;
/* n-tuple support exists, always init our spinlock */
spin_lock_init(&adapter->fdir_perfect_lock);
/* Flow Director hash filters enabled */ /* Flow Director hash filters enabled */
adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE; adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE;
adapter->atr_sample_rate = 20; adapter->atr_sample_rate = 20;
...@@ -5177,6 +5175,9 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter) ...@@ -5177,6 +5175,9 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter)
break; break;
} }
/* n-tuple support exists, always init our spinlock */
spin_lock_init(&adapter->fdir_perfect_lock);
#ifdef CONFIG_IXGBE_DCB #ifdef CONFIG_IXGBE_DCB
/* Configure DCB traffic classes */ /* Configure DCB traffic classes */
for (j = 0; j < MAX_TRAFFIC_CLASS; j++) { for (j = 0; j < MAX_TRAFFIC_CLASS; j++) {
......
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