diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2010-11-16 22:27:03 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2010-11-16 22:27:03 -0500 |
commit | bd50817859e7e82ba6e4adc75ebd8ac19459d8a4 (patch) | |
tree | b4fcbe0313d482c79a423acb6eac18d90940067a /drivers/net/ixgbe/ixgbe_ethtool.c | |
parent | aa80175a539a47fd11e2fbf1696a29f7a2652930 (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.c | 45 |
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); |