diff options
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_main.c')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index fffb1ce4f6ea..5d90f699fa78 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -3411,6 +3411,12 @@ static int ixgbe_up_complete(struct ixgbe_adapter *adapter) | |||
3411 | IXGBE_WRITE_REG(hw, IXGBE_MHADD, mhadd); | 3411 | IXGBE_WRITE_REG(hw, IXGBE_MHADD, mhadd); |
3412 | } | 3412 | } |
3413 | 3413 | ||
3414 | if (hw->mac.type == ixgbe_mac_82599EB) { | ||
3415 | /* DMATXCTL.EN must be set after all Tx queue config is done */ | ||
3416 | dmatxctl = IXGBE_READ_REG(hw, IXGBE_DMATXCTL); | ||
3417 | dmatxctl |= IXGBE_DMATXCTL_TE; | ||
3418 | IXGBE_WRITE_REG(hw, IXGBE_DMATXCTL, dmatxctl); | ||
3419 | } | ||
3414 | for (i = 0; i < adapter->num_tx_queues; i++) { | 3420 | for (i = 0; i < adapter->num_tx_queues; i++) { |
3415 | j = adapter->tx_ring[i]->reg_idx; | 3421 | j = adapter->tx_ring[i]->reg_idx; |
3416 | txdctl = IXGBE_READ_REG(hw, IXGBE_TXDCTL(j)); | 3422 | txdctl = IXGBE_READ_REG(hw, IXGBE_TXDCTL(j)); |
@@ -3421,18 +3427,6 @@ static int ixgbe_up_complete(struct ixgbe_adapter *adapter) | |||
3421 | /* enable WTHRESH=8 descriptors, to encourage burst writeback */ | 3427 | /* enable WTHRESH=8 descriptors, to encourage burst writeback */ |
3422 | txdctl |= (8 << 16); | 3428 | txdctl |= (8 << 16); |
3423 | } | 3429 | } |
3424 | IXGBE_WRITE_REG(hw, IXGBE_TXDCTL(j), txdctl); | ||
3425 | } | ||
3426 | |||
3427 | if (hw->mac.type == ixgbe_mac_82599EB) { | ||
3428 | /* DMATXCTL.EN must be set after all Tx queue config is done */ | ||
3429 | dmatxctl = IXGBE_READ_REG(hw, IXGBE_DMATXCTL); | ||
3430 | dmatxctl |= IXGBE_DMATXCTL_TE; | ||
3431 | IXGBE_WRITE_REG(hw, IXGBE_DMATXCTL, dmatxctl); | ||
3432 | } | ||
3433 | for (i = 0; i < adapter->num_tx_queues; i++) { | ||
3434 | j = adapter->tx_ring[i]->reg_idx; | ||
3435 | txdctl = IXGBE_READ_REG(hw, IXGBE_TXDCTL(j)); | ||
3436 | txdctl |= IXGBE_TXDCTL_ENABLE; | 3430 | txdctl |= IXGBE_TXDCTL_ENABLE; |
3437 | IXGBE_WRITE_REG(hw, IXGBE_TXDCTL(j), txdctl); | 3431 | IXGBE_WRITE_REG(hw, IXGBE_TXDCTL(j), txdctl); |
3438 | if (hw->mac.type == ixgbe_mac_82599EB) { | 3432 | if (hw->mac.type == ixgbe_mac_82599EB) { |