aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe_ethtool.c
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2010-11-16 22:27:03 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2010-11-16 22:27:03 -0500
commitbd50817859e7e82ba6e4adc75ebd8ac19459d8a4 (patch)
treeb4fcbe0313d482c79a423acb6eac18d90940067a /drivers/net/ixgbe/ixgbe_ethtool.c
parentaa80175a539a47fd11e2fbf1696a29f7a2652930 (diff)
ixgbe: change mac_type if statements to switch statements
This change replaces a number of if/elseif/else statements with switch statements to support the addition of future devices to the ixgbe driver. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_ethtool.c')
-rw-r--r--drivers/net/ixgbe/ixgbe_ethtool.c45
1 files changed, 35 insertions, 10 deletions
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c b/drivers/net/ixgbe/ixgbe_ethtool.c
index 561d47895d82..9483faf91ea4 100644
--- a/drivers/net/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ixgbe/ixgbe_ethtool.c
@@ -525,10 +525,20 @@ static void ixgbe_get_regs(struct net_device *netdev,
525 regs_buff[32] = IXGBE_READ_REG(hw, IXGBE_FCTTV(1)); 525 regs_buff[32] = IXGBE_READ_REG(hw, IXGBE_FCTTV(1));
526 regs_buff[33] = IXGBE_READ_REG(hw, IXGBE_FCTTV(2)); 526 regs_buff[33] = IXGBE_READ_REG(hw, IXGBE_FCTTV(2));
527 regs_buff[34] = IXGBE_READ_REG(hw, IXGBE_FCTTV(3)); 527 regs_buff[34] = IXGBE_READ_REG(hw, IXGBE_FCTTV(3));
528 for (i = 0; i < 8; i++) 528 for (i = 0; i < 8; i++) {
529 regs_buff[35 + i] = IXGBE_READ_REG(hw, IXGBE_FCRTL(i)); 529 switch (hw->mac.type) {
530 for (i = 0; i < 8; i++) 530 case ixgbe_mac_82598EB:
531 regs_buff[43 + i] = IXGBE_READ_REG(hw, IXGBE_FCRTH(i)); 531 regs_buff[35 + i] = IXGBE_READ_REG(hw, IXGBE_FCRTL(i));
532 regs_buff[43 + i] = IXGBE_READ_REG(hw, IXGBE_FCRTH(i));
533 break;
534 case ixgbe_mac_82599EB:
535 regs_buff[35 + i] = IXGBE_READ_REG(hw, IXGBE_FCRTL_82599(i));
536 regs_buff[43 + i] = IXGBE_READ_REG(hw, IXGBE_FCRTH_82599(i));
537 break;
538 default:
539 break;
540 }
541 }
532 regs_buff[51] = IXGBE_READ_REG(hw, IXGBE_FCRTV); 542 regs_buff[51] = IXGBE_READ_REG(hw, IXGBE_FCRTV);
533 regs_buff[52] = IXGBE_READ_REG(hw, IXGBE_TFCS); 543 regs_buff[52] = IXGBE_READ_REG(hw, IXGBE_TFCS);
534 544
@@ -1226,12 +1236,19 @@ static int ixgbe_reg_test(struct ixgbe_adapter *adapter, u64 *data)
1226 u32 value, before, after; 1236 u32 value, before, after;
1227 u32 i, toggle; 1237 u32 i, toggle;
1228 1238
1229 if (adapter->hw.mac.type == ixgbe_mac_82599EB) { 1239 switch (adapter->hw.mac.type) {
1230 toggle = 0x7FFFF30F; 1240 case ixgbe_mac_82598EB:
1231 test = reg_test_82599;
1232 } else {
1233 toggle = 0x7FFFF3FF; 1241 toggle = 0x7FFFF3FF;
1234 test = reg_test_82598; 1242 test = reg_test_82598;
1243 break;
1244 case ixgbe_mac_82599EB:
1245 toggle = 0x7FFFF30F;
1246 test = reg_test_82599;
1247 break;
1248 default:
1249 *data = 1;
1250 return 1;
1251 break;
1235 } 1252 }
1236 1253
1237 /* 1254 /*
@@ -1449,10 +1466,14 @@ static void ixgbe_free_desc_rings(struct ixgbe_adapter *adapter)
1449 reg_ctl &= ~IXGBE_TXDCTL_ENABLE; 1466 reg_ctl &= ~IXGBE_TXDCTL_ENABLE;
1450 IXGBE_WRITE_REG(hw, IXGBE_TXDCTL(tx_ring->reg_idx), reg_ctl); 1467 IXGBE_WRITE_REG(hw, IXGBE_TXDCTL(tx_ring->reg_idx), reg_ctl);
1451 1468
1452 if (hw->mac.type == ixgbe_mac_82599EB) { 1469 switch (hw->mac.type) {
1470 case ixgbe_mac_82599EB:
1453 reg_ctl = IXGBE_READ_REG(hw, IXGBE_DMATXCTL); 1471 reg_ctl = IXGBE_READ_REG(hw, IXGBE_DMATXCTL);
1454 reg_ctl &= ~IXGBE_DMATXCTL_TE; 1472 reg_ctl &= ~IXGBE_DMATXCTL_TE;
1455 IXGBE_WRITE_REG(hw, IXGBE_DMATXCTL, reg_ctl); 1473 IXGBE_WRITE_REG(hw, IXGBE_DMATXCTL, reg_ctl);
1474 break;
1475 default:
1476 break;
1456 } 1477 }
1457 1478
1458 ixgbe_reset(adapter); 1479 ixgbe_reset(adapter);
@@ -1481,10 +1502,14 @@ static int ixgbe_setup_desc_rings(struct ixgbe_adapter *adapter)
1481 if (err) 1502 if (err)
1482 return 1; 1503 return 1;
1483 1504
1484 if (adapter->hw.mac.type == ixgbe_mac_82599EB) { 1505 switch (adapter->hw.mac.type) {
1506 case ixgbe_mac_82599EB:
1485 reg_data = IXGBE_READ_REG(&adapter->hw, IXGBE_DMATXCTL); 1507 reg_data = IXGBE_READ_REG(&adapter->hw, IXGBE_DMATXCTL);
1486 reg_data |= IXGBE_DMATXCTL_TE; 1508 reg_data |= IXGBE_DMATXCTL_TE;
1487 IXGBE_WRITE_REG(&adapter->hw, IXGBE_DMATXCTL, reg_data); 1509 IXGBE_WRITE_REG(&adapter->hw, IXGBE_DMATXCTL, reg_data);
1510 break;
1511 default:
1512 break;
1488 } 1513 }
1489 1514
1490 ixgbe_configure_tx_ring(adapter, tx_ring); 1515 ixgbe_configure_tx_ring(adapter, tx_ring);