Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 184264
b: refs/heads/master
c: 2d0b0f6
h: refs/heads/master
v: v3
  • Loading branch information
Nick Nunley authored and David S. Miller committed Feb 17, 2010
1 parent 4b087fb commit cb7f423
Show file tree
Hide file tree
Showing 6 changed files with 3 additions and 94 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3025a446b6d0255ae4399ca5f9b259bd1b51539e
refs/heads/master: 2d0b0f693578109aff347e055d47f2797c802261
6 changes: 0 additions & 6 deletions trunk/drivers/net/igb/e1000_defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -313,12 +313,6 @@
#define E1000_PBA_34K 0x0022
#define E1000_PBA_64K 0x0040 /* 64KB */

#define IFS_MAX 80
#define IFS_MIN 40
#define IFS_RATIO 4
#define IFS_STEP 10
#define MIN_NUM_XMITS 1000

/* SW Semaphore Register */
#define E1000_SWSM_SMBI 0x00000001 /* Driver Semaphore bit */
#define E1000_SWSM_SWESMBI 0x00000002 /* FW Semaphore bit */
Expand Down
7 changes: 0 additions & 7 deletions trunk/drivers/net/igb/e1000_hw.h
Original file line number Diff line number Diff line change
Expand Up @@ -339,19 +339,12 @@ struct e1000_mac_info {

enum e1000_mac_type type;

u32 collision_delta;
u32 ledctl_default;
u32 ledctl_mode1;
u32 ledctl_mode2;
u32 mc_filter_type;
u32 tx_packet_delta;
u32 txcw;

u16 current_ifs_val;
u16 ifs_max_val;
u16 ifs_min_val;
u16 ifs_ratio;
u16 ifs_step_size;
u16 mta_reg_count;
u16 uta_reg_count;

Expand Down
70 changes: 0 additions & 70 deletions trunk/drivers/net/igb/e1000_mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -1303,76 +1303,6 @@ s32 igb_disable_pcie_master(struct e1000_hw *hw)
return ret_val;
}

/**
* igb_reset_adaptive - Reset Adaptive Interframe Spacing
* @hw: pointer to the HW structure
*
* Reset the Adaptive Interframe Spacing throttle to default values.
**/
void igb_reset_adaptive(struct e1000_hw *hw)
{
struct e1000_mac_info *mac = &hw->mac;

if (!mac->adaptive_ifs) {
hw_dbg("Not in Adaptive IFS mode!\n");
goto out;
}

if (!mac->ifs_params_forced) {
mac->current_ifs_val = 0;
mac->ifs_min_val = IFS_MIN;
mac->ifs_max_val = IFS_MAX;
mac->ifs_step_size = IFS_STEP;
mac->ifs_ratio = IFS_RATIO;
}

mac->in_ifs_mode = false;
wr32(E1000_AIT, 0);
out:
return;
}

/**
* igb_update_adaptive - Update Adaptive Interframe Spacing
* @hw: pointer to the HW structure
*
* Update the Adaptive Interframe Spacing Throttle value based on the
* time between transmitted packets and time between collisions.
**/
void igb_update_adaptive(struct e1000_hw *hw)
{
struct e1000_mac_info *mac = &hw->mac;

if (!mac->adaptive_ifs) {
hw_dbg("Not in Adaptive IFS mode!\n");
goto out;
}

if ((mac->collision_delta * mac->ifs_ratio) > mac->tx_packet_delta) {
if (mac->tx_packet_delta > MIN_NUM_XMITS) {
mac->in_ifs_mode = true;
if (mac->current_ifs_val < mac->ifs_max_val) {
if (!mac->current_ifs_val)
mac->current_ifs_val = mac->ifs_min_val;
else
mac->current_ifs_val +=
mac->ifs_step_size;
wr32(E1000_AIT,
mac->current_ifs_val);
}
}
} else {
if (mac->in_ifs_mode &&
(mac->tx_packet_delta <= MIN_NUM_XMITS)) {
mac->current_ifs_val = 0;
mac->in_ifs_mode = false;
wr32(E1000_AIT, 0);
}
}
out:
return;
}

/**
* igb_validate_mdi_setting - Verify MDI/MDIx settings
* @hw: pointer to the HW structure
Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/net/igb/e1000_mac.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,6 @@ void igb_mta_set(struct e1000_hw *hw, u32 hash_value);
void igb_put_hw_semaphore(struct e1000_hw *hw);
void igb_rar_set(struct e1000_hw *hw, u8 *addr, u32 index);
s32 igb_check_alt_mac_addr(struct e1000_hw *hw);
void igb_reset_adaptive(struct e1000_hw *hw);
void igb_update_adaptive(struct e1000_hw *hw);

bool igb_enable_mng_pass_thru(struct e1000_hw *hw);

Expand Down
10 changes: 2 additions & 8 deletions trunk/drivers/net/igb/igb_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1365,7 +1365,6 @@ void igb_reset(struct igb_adapter *adapter)
/* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */
wr32(E1000_VET, ETHERNET_IEEE_VLAN_TYPE);

igb_reset_adaptive(hw);
igb_get_phy_info(hw);
}

Expand Down Expand Up @@ -1508,7 +1507,6 @@ static int __devinit igb_probe(struct pci_dev *pdev,
igb_get_bus_info_pcie(hw);

hw->phy.autoneg_wait_to_complete = false;
hw->mac.adaptive_ifs = true;

/* Copper options */
if (hw->phy.media_type == e1000_media_type_copper) {
Expand Down Expand Up @@ -3159,7 +3157,6 @@ static void igb_watchdog_task(struct work_struct *work)
}

igb_update_stats(adapter);
igb_update_adaptive(hw);

for (i = 0; i < adapter->num_tx_queues; i++) {
struct igb_ring *tx_ring = adapter->tx_ring[i];
Expand Down Expand Up @@ -4064,11 +4061,8 @@ void igb_update_stats(struct igb_adapter *adapter)
adapter->stats.mptc += rd32(E1000_MPTC);
adapter->stats.bptc += rd32(E1000_BPTC);

/* used for adaptive IFS */
hw->mac.tx_packet_delta = rd32(E1000_TPT);
adapter->stats.tpt += hw->mac.tx_packet_delta;
hw->mac.collision_delta = rd32(E1000_COLC);
adapter->stats.colc += hw->mac.collision_delta;
adapter->stats.tpt += rd32(E1000_TPT);
adapter->stats.colc += rd32(E1000_COLC);

adapter->stats.algnerrc += rd32(E1000_ALGNERRC);
adapter->stats.rxerrc += rd32(E1000_RXERRC);
Expand Down

0 comments on commit cb7f423

Please sign in to comment.