Commit 0340501b authored by Jeff Kirsher's avatar Jeff Kirsher

igbvf: Fix code comments and whitespace

Fix the code comments to align with the drivers/net/ commenting style.
Also fix other checkpatch errors such as using tabs where possible and
properly wrap lines to conform to the 80 char limit (unless it is
a string).
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
parent 79849ebc
...@@ -13,8 +13,7 @@ ...@@ -13,8 +13,7 @@
more details. more details.
You should have received a copy of the GNU General Public License along with 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., this program; if not, see <http://www.gnu.org/licenses/>.
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in The full GNU General Public License is included in this distribution in
the file called "COPYING". the file called "COPYING".
...@@ -55,7 +54,6 @@ ...@@ -55,7 +54,6 @@
#define E1000_RXDEXT_STATERR_IPE 0x40000000 #define E1000_RXDEXT_STATERR_IPE 0x40000000
#define E1000_RXDEXT_STATERR_RXE 0x80000000 #define E1000_RXDEXT_STATERR_RXE 0x80000000
/* Same mask, but for extended and packet split descriptors */ /* Same mask, but for extended and packet split descriptors */
#define E1000_RXDEXT_ERR_FRAME_ERR_MASK ( \ #define E1000_RXDEXT_ERR_FRAME_ERR_MASK ( \
E1000_RXDEXT_STATERR_CE | \ E1000_RXDEXT_STATERR_CE | \
...@@ -84,8 +82,8 @@ ...@@ -84,8 +82,8 @@
/* Transmit Descriptor bit definitions */ /* Transmit Descriptor bit definitions */
#define E1000_TXD_POPTS_IXSM 0x01 /* Insert IP checksum */ #define E1000_TXD_POPTS_IXSM 0x01 /* Insert IP checksum */
#define E1000_TXD_POPTS_TXSM 0x02 /* Insert TCP/UDP checksum */ #define E1000_TXD_POPTS_TXSM 0x02 /* Insert TCP/UDP checksum */
#define E1000_TXD_CMD_DEXT 0x20000000 /* Descriptor extension (0 = legacy) */ #define E1000_TXD_CMD_DEXT 0x20000000 /* Desc extension (0 = legacy) */
#define E1000_TXD_STAT_DD 0x00000001 /* Descriptor Done */ #define E1000_TXD_STAT_DD 0x00000001 /* Desc Done */
#define MAX_JUMBO_FRAME_SIZE 0x3F00 #define MAX_JUMBO_FRAME_SIZE 0x3F00
...@@ -111,8 +109,8 @@ ...@@ -111,8 +109,8 @@
#define E1000_SRRCTL_BSIZEHDR_MASK 0x00003F00 #define E1000_SRRCTL_BSIZEHDR_MASK 0x00003F00
/* Additional Descriptor Control definitions */ /* Additional Descriptor Control definitions */
#define E1000_TXDCTL_QUEUE_ENABLE 0x02000000 /* Enable specific Tx Queue */ #define E1000_TXDCTL_QUEUE_ENABLE 0x02000000 /* Enable specific Tx Que */
#define E1000_RXDCTL_QUEUE_ENABLE 0x02000000 /* Enable specific Rx Queue */ #define E1000_RXDCTL_QUEUE_ENABLE 0x02000000 /* Enable specific Rx Que */
/* Direct Cache Access (DCA) definitions */ /* Direct Cache Access (DCA) definitions */
#define E1000_DCA_TXCTRL_TX_WB_RO_EN (1 << 11) /* Tx Desc writeback RO bit */ #define E1000_DCA_TXCTRL_TX_WB_RO_EN (1 << 11) /* Tx Desc writeback RO bit */
......
...@@ -13,8 +13,7 @@ ...@@ -13,8 +13,7 @@
more details. more details.
You should have received a copy of the GNU General Public License along with 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., this program; if not, see <http://www.gnu.org/licenses/>.
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in The full GNU General Public License is included in this distribution in
the file called "COPYING". the file called "COPYING".
...@@ -36,7 +35,6 @@ ...@@ -36,7 +35,6 @@
#include "igbvf.h" #include "igbvf.h"
#include <linux/if_vlan.h> #include <linux/if_vlan.h>
struct igbvf_stats { struct igbvf_stats {
char stat_string[ETH_GSTRING_LEN]; char stat_string[ETH_GSTRING_LEN];
int sizeof_stat; int sizeof_stat;
...@@ -130,12 +128,14 @@ static int igbvf_set_pauseparam(struct net_device *netdev, ...@@ -130,12 +128,14 @@ static int igbvf_set_pauseparam(struct net_device *netdev,
static u32 igbvf_get_msglevel(struct net_device *netdev) static u32 igbvf_get_msglevel(struct net_device *netdev)
{ {
struct igbvf_adapter *adapter = netdev_priv(netdev); struct igbvf_adapter *adapter = netdev_priv(netdev);
return adapter->msg_enable; return adapter->msg_enable;
} }
static void igbvf_set_msglevel(struct net_device *netdev, u32 data) static void igbvf_set_msglevel(struct net_device *netdev, u32 data)
{ {
struct igbvf_adapter *adapter = netdev_priv(netdev); struct igbvf_adapter *adapter = netdev_priv(netdev);
adapter->msg_enable = data; adapter->msg_enable = data;
} }
...@@ -255,10 +255,9 @@ static int igbvf_set_ringparam(struct net_device *netdev, ...@@ -255,10 +255,9 @@ static int igbvf_set_ringparam(struct net_device *netdev,
igbvf_down(adapter); igbvf_down(adapter);
/* /* We can't just free everything and then setup again,
* We can't just free everything and then setup again,
* because the ISRs in MSI-X mode get passed pointers * because the ISRs in MSI-X mode get passed pointers
* to the tx and rx ring structs. * to the Tx and Rx ring structs.
*/ */
if (new_tx_count != adapter->tx_ring->count) { if (new_tx_count != adapter->tx_ring->count) {
memcpy(temp_ring, adapter->tx_ring, sizeof(struct igbvf_ring)); memcpy(temp_ring, adapter->tx_ring, sizeof(struct igbvf_ring));
...@@ -283,7 +282,7 @@ static int igbvf_set_ringparam(struct net_device *netdev, ...@@ -283,7 +282,7 @@ static int igbvf_set_ringparam(struct net_device *netdev,
igbvf_free_rx_resources(adapter->rx_ring); igbvf_free_rx_resources(adapter->rx_ring);
memcpy(adapter->rx_ring, temp_ring,sizeof(struct igbvf_ring)); memcpy(adapter->rx_ring, temp_ring, sizeof(struct igbvf_ring));
} }
err_setup: err_setup:
igbvf_up(adapter); igbvf_up(adapter);
...@@ -313,8 +312,7 @@ static void igbvf_diag_test(struct net_device *netdev, ...@@ -313,8 +312,7 @@ static void igbvf_diag_test(struct net_device *netdev,
set_bit(__IGBVF_TESTING, &adapter->state); set_bit(__IGBVF_TESTING, &adapter->state);
/* /* Link test performed before hardware reset so autoneg doesn't
* Link test performed before hardware reset so autoneg doesn't
* interfere with test result * interfere with test result
*/ */
if (igbvf_link_test(adapter, &data[0])) if (igbvf_link_test(adapter, &data[0]))
...@@ -366,8 +364,7 @@ static int igbvf_set_coalesce(struct net_device *netdev, ...@@ -366,8 +364,7 @@ static int igbvf_set_coalesce(struct net_device *netdev,
adapter->current_itr = IGBVF_START_ITR; adapter->current_itr = IGBVF_START_ITR;
adapter->requested_itr = ec->rx_coalesce_usecs; adapter->requested_itr = ec->rx_coalesce_usecs;
} else if (ec->rx_coalesce_usecs == 0) { } else if (ec->rx_coalesce_usecs == 0) {
/* /* The user's desire is to turn off interrupt throttling
* The user's desire is to turn off interrupt throttling
* altogether, but due to HW limitations, we can't do that. * altogether, but due to HW limitations, we can't do that.
* Instead we set a very small value in EITR, which would * Instead we set a very small value in EITR, which would
* allow ~967k interrupts per second, but allow the adapter's * allow ~967k interrupts per second, but allow the adapter's
...@@ -376,8 +373,9 @@ static int igbvf_set_coalesce(struct net_device *netdev, ...@@ -376,8 +373,9 @@ static int igbvf_set_coalesce(struct net_device *netdev,
adapter->current_itr = 4; adapter->current_itr = 4;
adapter->requested_itr = 1000000000 / adapter->requested_itr = 1000000000 /
(adapter->current_itr * 256); (adapter->current_itr * 256);
} else } else {
return -EINVAL; return -EINVAL;
}
writel(adapter->current_itr, writel(adapter->current_itr,
hw->hw_addr + adapter->rx_ring->itr_register); hw->hw_addr + adapter->rx_ring->itr_register);
...@@ -388,12 +386,12 @@ static int igbvf_set_coalesce(struct net_device *netdev, ...@@ -388,12 +386,12 @@ static int igbvf_set_coalesce(struct net_device *netdev,
static int igbvf_nway_reset(struct net_device *netdev) static int igbvf_nway_reset(struct net_device *netdev)
{ {
struct igbvf_adapter *adapter = netdev_priv(netdev); struct igbvf_adapter *adapter = netdev_priv(netdev);
if (netif_running(netdev)) if (netif_running(netdev))
igbvf_reinit_locked(adapter); igbvf_reinit_locked(adapter);
return 0; return 0;
} }
static void igbvf_get_ethtool_stats(struct net_device *netdev, static void igbvf_get_ethtool_stats(struct net_device *netdev,
struct ethtool_stats *stats, struct ethtool_stats *stats,
u64 *data) u64 *data)
...@@ -411,12 +409,11 @@ static void igbvf_get_ethtool_stats(struct net_device *netdev, ...@@ -411,12 +409,11 @@ static void igbvf_get_ethtool_stats(struct net_device *netdev,
sizeof(u64)) ? (*(u64 *)p - *(u64 *)b) : sizeof(u64)) ? (*(u64 *)p - *(u64 *)b) :
(*(u32 *)p - *(u32 *)b)); (*(u32 *)p - *(u32 *)b));
} }
} }
static int igbvf_get_sset_count(struct net_device *dev, int stringset) static int igbvf_get_sset_count(struct net_device *dev, int stringset)
{ {
switch(stringset) { switch (stringset) {
case ETH_SS_TEST: case ETH_SS_TEST:
return IGBVF_TEST_LEN; return IGBVF_TEST_LEN;
case ETH_SS_STATS: case ETH_SS_STATS:
......
...@@ -13,8 +13,7 @@ ...@@ -13,8 +13,7 @@
more details. more details.
You should have received a copy of the GNU General Public License along with 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., this program; if not, see <http://www.gnu.org/licenses/>.
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in The full GNU General Public License is included in this distribution in
the file called "COPYING". the file called "COPYING".
...@@ -55,7 +54,6 @@ enum latency_range { ...@@ -55,7 +54,6 @@ enum latency_range {
latency_invalid = 255 latency_invalid = 255
}; };
/* Interrupt modes, as used by the IntMode parameter */ /* Interrupt modes, as used by the IntMode parameter */
#define IGBVF_INT_MODE_LEGACY 0 #define IGBVF_INT_MODE_LEGACY 0
#define IGBVF_INT_MODE_MSI 1 #define IGBVF_INT_MODE_MSI 1
...@@ -116,8 +114,7 @@ struct igbvf_queue_stats { ...@@ -116,8 +114,7 @@ struct igbvf_queue_stats {
u64 bytes; u64 bytes;
}; };
/* /* wrappers around a pointer to a socket buffer,
* wrappers around a pointer to a socket buffer,
* so a DMA handle can be stored along with the buffer * so a DMA handle can be stored along with the buffer
*/ */
struct igbvf_buffer { struct igbvf_buffer {
...@@ -202,9 +199,7 @@ struct igbvf_adapter { ...@@ -202,9 +199,7 @@ struct igbvf_adapter {
u32 requested_itr; /* ints/sec or adaptive */ u32 requested_itr; /* ints/sec or adaptive */
u32 current_itr; /* Actual ITR register value, not ints/sec */ u32 current_itr; /* Actual ITR register value, not ints/sec */
/* /* Tx */
* Tx
*/
struct igbvf_ring *tx_ring /* One per active queue */ struct igbvf_ring *tx_ring /* One per active queue */
____cacheline_aligned_in_smp; ____cacheline_aligned_in_smp;
...@@ -226,9 +221,7 @@ struct igbvf_adapter { ...@@ -226,9 +221,7 @@ struct igbvf_adapter {
u32 tx_fifo_size; u32 tx_fifo_size;
u32 tx_dma_failed; u32 tx_dma_failed;
/* /* Rx */
* Rx
*/
struct igbvf_ring *rx_ring; struct igbvf_ring *rx_ring;
u32 rx_int_delay; u32 rx_int_delay;
......
...@@ -13,8 +13,7 @@ ...@@ -13,8 +13,7 @@
more details. more details.
You should have received a copy of the GNU General Public License along with 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., this program; if not, see <http://www.gnu.org/licenses/>.
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in The full GNU General Public License is included in this distribution in
the file called "COPYING". the file called "COPYING".
...@@ -54,10 +53,10 @@ static s32 e1000_poll_for_msg(struct e1000_hw *hw) ...@@ -54,10 +53,10 @@ static s32 e1000_poll_for_msg(struct e1000_hw *hw)
} }
/** /**
* e1000_poll_for_ack - Wait for message acknowledgement * e1000_poll_for_ack - Wait for message acknowledgment
* @hw: pointer to the HW structure * @hw: pointer to the HW structure
* *
* returns SUCCESS if it successfully received a message acknowledgement * returns SUCCESS if it successfully received a message acknowledgment
**/ **/
static s32 e1000_poll_for_ack(struct e1000_hw *hw) static s32 e1000_poll_for_ack(struct e1000_hw *hw)
{ {
...@@ -239,7 +238,7 @@ static s32 e1000_obtain_mbx_lock_vf(struct e1000_hw *hw) ...@@ -239,7 +238,7 @@ static s32 e1000_obtain_mbx_lock_vf(struct e1000_hw *hw)
/* Take ownership of the buffer */ /* Take ownership of the buffer */
ew32(V2PMAILBOX(0), E1000_V2PMAILBOX_VFU); ew32(V2PMAILBOX(0), E1000_V2PMAILBOX_VFU);
/* reserve mailbox for vf use */ /* reserve mailbox for VF use */
if (e1000_read_v2p_mailbox(hw) & E1000_V2PMAILBOX_VFU) if (e1000_read_v2p_mailbox(hw) & E1000_V2PMAILBOX_VFU)
ret_val = E1000_SUCCESS; ret_val = E1000_SUCCESS;
...@@ -283,7 +282,7 @@ static s32 e1000_write_mbx_vf(struct e1000_hw *hw, u32 *msg, u16 size) ...@@ -283,7 +282,7 @@ static s32 e1000_write_mbx_vf(struct e1000_hw *hw, u32 *msg, u16 size)
} }
/** /**
* e1000_read_mbx_vf - Reads a message from the inbox intended for vf * e1000_read_mbx_vf - Reads a message from the inbox intended for VF
* @hw: pointer to the HW structure * @hw: pointer to the HW structure
* @msg: The message buffer * @msg: The message buffer
* @size: Length of buffer * @size: Length of buffer
...@@ -315,17 +314,18 @@ static s32 e1000_read_mbx_vf(struct e1000_hw *hw, u32 *msg, u16 size) ...@@ -315,17 +314,18 @@ static s32 e1000_read_mbx_vf(struct e1000_hw *hw, u32 *msg, u16 size)
} }
/** /**
* e1000_init_mbx_params_vf - set initial values for vf mailbox * e1000_init_mbx_params_vf - set initial values for VF mailbox
* @hw: pointer to the HW structure * @hw: pointer to the HW structure
* *
* Initializes the hw->mbx struct to correct values for vf mailbox * Initializes the hw->mbx struct to correct values for VF mailbox
*/ */
s32 e1000_init_mbx_params_vf(struct e1000_hw *hw) s32 e1000_init_mbx_params_vf(struct e1000_hw *hw)
{ {
struct e1000_mbx_info *mbx = &hw->mbx; struct e1000_mbx_info *mbx = &hw->mbx;
/* start mailbox as timed out and let the reset_hw call set the timeout /* start mailbox as timed out and let the reset_hw call set the timeout
* value to being communications */ * value to being communications
*/
mbx->timeout = 0; mbx->timeout = 0;
mbx->usec_delay = E1000_VF_MBX_INIT_DELAY; mbx->usec_delay = E1000_VF_MBX_INIT_DELAY;
...@@ -347,4 +347,3 @@ s32 e1000_init_mbx_params_vf(struct e1000_hw *hw) ...@@ -347,4 +347,3 @@ s32 e1000_init_mbx_params_vf(struct e1000_hw *hw)
return E1000_SUCCESS; return E1000_SUCCESS;
} }
...@@ -13,8 +13,7 @@ ...@@ -13,8 +13,7 @@
more details. more details.
You should have received a copy of the GNU General Public License along with 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., this program; if not, see <http://www.gnu.org/licenses/>.
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in The full GNU General Public License is included in this distribution in
the file called "COPYING". the file called "COPYING".
...@@ -46,15 +45,15 @@ ...@@ -46,15 +45,15 @@
* PF. The reverse is true if it is E1000_PF_*. * PF. The reverse is true if it is E1000_PF_*.
* Message ACK's are the value or'd with 0xF0000000 * Message ACK's are the value or'd with 0xF0000000
*/ */
#define E1000_VT_MSGTYPE_ACK 0x80000000 /* Messages below or'd with /* Messages below or'd with this are the ACK */
* this are the ACK */ #define E1000_VT_MSGTYPE_ACK 0x80000000
#define E1000_VT_MSGTYPE_NACK 0x40000000 /* Messages below or'd with /* Messages below or'd with this are the NACK */
* this are the NACK */ #define E1000_VT_MSGTYPE_NACK 0x40000000
#define E1000_VT_MSGTYPE_CTS 0x20000000 /* Indicates that VF is still /* Indicates that VF is still clear to send requests */
clear to send requests */ #define E1000_VT_MSGTYPE_CTS 0x20000000
/* We have a total wait time of 1s for vf mailbox posted messages */ /* We have a total wait time of 1s for vf mailbox posted messages */
#define E1000_VF_MBX_INIT_TIMEOUT 2000 /* retry count for mailbox timeout */ #define E1000_VF_MBX_INIT_TIMEOUT 2000 /* retry count for mbx timeout */
#define E1000_VF_MBX_INIT_DELAY 500 /* usec delay between retries */ #define E1000_VF_MBX_INIT_DELAY 500 /* usec delay between retries */
#define E1000_VT_MSGINFO_SHIFT 16 #define E1000_VT_MSGINFO_SHIFT 16
......
This diff is collapsed.
...@@ -13,8 +13,7 @@ ...@@ -13,8 +13,7 @@
more details. more details.
You should have received a copy of the GNU General Public License along with 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., this program; if not, see <http://www.gnu.org/licenses/>.
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in The full GNU General Public License is included in this distribution in
the file called "COPYING". the file called "COPYING".
...@@ -40,8 +39,8 @@ ...@@ -40,8 +39,8 @@
#define E1000_EIAM 0x01530 /* Ext. Interrupt Ack Auto Clear Mask - RW */ #define E1000_EIAM 0x01530 /* Ext. Interrupt Ack Auto Clear Mask - RW */
#define E1000_IVAR0 0x01700 /* Interrupt Vector Allocation (array) - RW */ #define E1000_IVAR0 0x01700 /* Interrupt Vector Allocation (array) - RW */
#define E1000_IVAR_MISC 0x01740 /* IVAR for "other" causes - RW */ #define E1000_IVAR_MISC 0x01740 /* IVAR for "other" causes - RW */
/*
* Convenience macros /* Convenience macros
* *
* Note: "_n" is the queue number of the register to be written to. * Note: "_n" is the queue number of the register to be written to.
* *
......
...@@ -13,8 +13,7 @@ ...@@ -13,8 +13,7 @@
more details. more details.
You should have received a copy of the GNU General Public License along with 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., this program; if not, see <http://www.gnu.org/licenses/>.
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in The full GNU General Public License is included in this distribution in
the file called "COPYING". the file called "COPYING".
...@@ -25,7 +24,6 @@ ...@@ -25,7 +24,6 @@
*******************************************************************************/ *******************************************************************************/
#include "vf.h" #include "vf.h"
static s32 e1000_check_for_link_vf(struct e1000_hw *hw); static s32 e1000_check_for_link_vf(struct e1000_hw *hw);
...@@ -130,7 +128,7 @@ static s32 e1000_reset_hw_vf(struct e1000_hw *hw) ...@@ -130,7 +128,7 @@ static s32 e1000_reset_hw_vf(struct e1000_hw *hw)
u8 *addr = (u8 *)(&msgbuf[1]); u8 *addr = (u8 *)(&msgbuf[1]);
u32 ctrl; u32 ctrl;
/* assert vf queue/interrupt reset */ /* assert VF queue/interrupt reset */
ctrl = er32(CTRL); ctrl = er32(CTRL);
ew32(CTRL, ctrl | E1000_CTRL_RST); ew32(CTRL, ctrl | E1000_CTRL_RST);
...@@ -144,7 +142,7 @@ static s32 e1000_reset_hw_vf(struct e1000_hw *hw) ...@@ -144,7 +142,7 @@ static s32 e1000_reset_hw_vf(struct e1000_hw *hw)
/* mailbox timeout can now become active */ /* mailbox timeout can now become active */
mbx->timeout = E1000_VF_MBX_INIT_TIMEOUT; mbx->timeout = E1000_VF_MBX_INIT_TIMEOUT;
/* notify pf of vf reset completion */ /* notify PF of VF reset completion */
msgbuf[0] = E1000_VF_RESET; msgbuf[0] = E1000_VF_RESET;
mbx->ops.write_posted(hw, msgbuf, 1); mbx->ops.write_posted(hw, msgbuf, 1);
...@@ -153,7 +151,8 @@ static s32 e1000_reset_hw_vf(struct e1000_hw *hw) ...@@ -153,7 +151,8 @@ static s32 e1000_reset_hw_vf(struct e1000_hw *hw)
/* set our "perm_addr" based on info provided by PF */ /* set our "perm_addr" based on info provided by PF */
ret_val = mbx->ops.read_posted(hw, msgbuf, 3); ret_val = mbx->ops.read_posted(hw, msgbuf, 3);
if (!ret_val) { if (!ret_val) {
if (msgbuf[0] == (E1000_VF_RESET | E1000_VT_MSGTYPE_ACK)) if (msgbuf[0] == (E1000_VF_RESET |
E1000_VT_MSGTYPE_ACK))
memcpy(hw->mac.perm_addr, addr, ETH_ALEN); memcpy(hw->mac.perm_addr, addr, ETH_ALEN);
else else
ret_val = -E1000_ERR_MAC_INIT; ret_val = -E1000_ERR_MAC_INIT;
...@@ -194,15 +193,14 @@ static u32 e1000_hash_mc_addr_vf(struct e1000_hw *hw, u8 *mc_addr) ...@@ -194,15 +193,14 @@ static u32 e1000_hash_mc_addr_vf(struct e1000_hw *hw, u8 *mc_addr)
/* Register count multiplied by bits per register */ /* Register count multiplied by bits per register */
hash_mask = (hw->mac.mta_reg_count * 32) - 1; hash_mask = (hw->mac.mta_reg_count * 32) - 1;
/* /* The bit_shift is the number of left-shifts
* The bit_shift is the number of left-shifts
* where 0xFF would still fall within the hash mask. * where 0xFF would still fall within the hash mask.
*/ */
while (hash_mask >> bit_shift != 0xFF) while (hash_mask >> bit_shift != 0xFF)
bit_shift++; bit_shift++;
hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) | hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
(((u16) mc_addr[5]) << bit_shift))); (((u16)mc_addr[5]) << bit_shift)));
return hash_value; return hash_value;
} }
...@@ -305,7 +303,7 @@ void e1000_rlpml_set_vf(struct e1000_hw *hw, u16 max_size) ...@@ -305,7 +303,7 @@ void e1000_rlpml_set_vf(struct e1000_hw *hw, u16 max_size)
* @addr: pointer to the receive address * @addr: pointer to the receive address
* @index: receive address array register * @index: receive address array register
**/ **/
static void e1000_rar_set_vf(struct e1000_hw *hw, u8 * addr, u32 index) static void e1000_rar_set_vf(struct e1000_hw *hw, u8 *addr, u32 index)
{ {
struct e1000_mbx_info *mbx = &hw->mbx; struct e1000_mbx_info *mbx = &hw->mbx;
u32 msgbuf[3]; u32 msgbuf[3];
...@@ -354,8 +352,7 @@ static s32 e1000_check_for_link_vf(struct e1000_hw *hw) ...@@ -354,8 +352,7 @@ static s32 e1000_check_for_link_vf(struct e1000_hw *hw)
s32 ret_val = E1000_SUCCESS; s32 ret_val = E1000_SUCCESS;
u32 in_msg = 0; u32 in_msg = 0;
/* /* We only want to run this if there has been a rst asserted.
* We only want to run this if there has been a rst asserted.
* in this case that could mean a link change, device reset, * in this case that could mean a link change, device reset,
* or a virtual function reset * or a virtual function reset
*/ */
...@@ -367,31 +364,33 @@ static s32 e1000_check_for_link_vf(struct e1000_hw *hw) ...@@ -367,31 +364,33 @@ static s32 e1000_check_for_link_vf(struct e1000_hw *hw)
if (!mac->get_link_status) if (!mac->get_link_status)
goto out; goto out;
/* if link status is down no point in checking to see if pf is up */ /* if link status is down no point in checking to see if PF is up */
if (!(er32(STATUS) & E1000_STATUS_LU)) if (!(er32(STATUS) & E1000_STATUS_LU))
goto out; goto out;
/* if the read failed it could just be a mailbox collision, best wait /* if the read failed it could just be a mailbox collision, best wait
* until we are called again and don't report an error */ * until we are called again and don't report an error
*/
if (mbx->ops.read(hw, &in_msg, 1)) if (mbx->ops.read(hw, &in_msg, 1))
goto out; goto out;
/* if incoming message isn't clear to send we are waiting on response */ /* if incoming message isn't clear to send we are waiting on response */
if (!(in_msg & E1000_VT_MSGTYPE_CTS)) { if (!(in_msg & E1000_VT_MSGTYPE_CTS)) {
/* message is not CTS and is NACK we must have lost CTS status */ /* msg is not CTS and is NACK we must have lost CTS status */
if (in_msg & E1000_VT_MSGTYPE_NACK) if (in_msg & E1000_VT_MSGTYPE_NACK)
ret_val = -E1000_ERR_MAC_INIT; ret_val = -E1000_ERR_MAC_INIT;
goto out; goto out;
} }
/* the pf is talking, if we timed out in the past we reinit */ /* the PF is talking, if we timed out in the past we reinit */
if (!mbx->timeout) { if (!mbx->timeout) {
ret_val = -E1000_ERR_MAC_INIT; ret_val = -E1000_ERR_MAC_INIT;
goto out; goto out;
} }
/* if we passed all the tests above then the link is up and we no /* if we passed all the tests above then the link is up and we no
* longer need to check for link */ * longer need to check for link
*/
mac->get_link_status = false; mac->get_link_status = false;
out: out:
......
...@@ -13,8 +13,7 @@ ...@@ -13,8 +13,7 @@
more details. more details.
You should have received a copy of the GNU General Public License along with 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., this program; if not, see <http://www.gnu.org/licenses/>.
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in The full GNU General Public License is included in this distribution in
the file called "COPYING". the file called "COPYING".
...@@ -49,8 +48,7 @@ struct e1000_hw; ...@@ -49,8 +48,7 @@ struct e1000_hw;
#define E1000_FUNC_0 0 #define E1000_FUNC_0 0
#define E1000_FUNC_1 1 #define E1000_FUNC_1 1
/* /* Receive Address Register Count
* Receive Address Register Count
* Number of high/low register pairs in the RAR. The RAR (Receive Address * Number of high/low register pairs in the RAR. The RAR (Receive Address
* Registers) holds the directed and multicast addresses that we monitor. * Registers) holds the directed and multicast addresses that we monitor.
* These entries are also used for MAC-based filtering. * These entries are also used for MAC-based filtering.
...@@ -69,8 +67,8 @@ union e1000_adv_rx_desc { ...@@ -69,8 +67,8 @@ union e1000_adv_rx_desc {
u32 data; u32 data;
struct { struct {
u16 pkt_info; /* RSS/Packet type */ u16 pkt_info; /* RSS/Packet type */
u16 hdr_info; /* Split Header, /* Split Header, hdr buffer length */
* hdr buffer length */ u16 hdr_info;
} hs_rss; } hs_rss;
} lo_dword; } lo_dword;
union { union {
...@@ -262,5 +260,4 @@ struct e1000_hw { ...@@ -262,5 +260,4 @@ struct e1000_hw {
void e1000_rlpml_set_vf(struct e1000_hw *, u16); void e1000_rlpml_set_vf(struct e1000_hw *, u16);
void e1000_init_function_pointers_vf(struct e1000_hw *hw); void e1000_init_function_pointers_vf(struct e1000_hw *hw);
#endif /* _E1000_VF_H_ */ #endif /* _E1000_VF_H_ */
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