ixgbe/base: abstract out link read/write
[dpdk.git] / drivers / net / ixgbe / base / ixgbe_82599.c
index 2318190..154c1f1 100644 (file)
@@ -1380,9 +1380,6 @@ s32 ixgbe_init_fdir_perfect_82599(struct ixgbe_hw *hw, u32 fdirctrl,
                    (0x6 << IXGBE_FDIRCTRL_FLEX_SHIFT) |
                    (0xA << IXGBE_FDIRCTRL_MAX_LENGTH_SHIFT) |
                    (4 << IXGBE_FDIRCTRL_FULL_THRESH_SHIFT);
-       if ((hw->mac.type == ixgbe_mac_X550) ||
-           (hw->mac.type == ixgbe_mac_X550EM_x))
-               fdirctrl |= IXGBE_FDIRCTRL_DROP_NO_MATCH;
 
        if (cloud_mode)
                fdirctrl |=(IXGBE_FDIRCTRL_FILTERMODE_CLOUD <<
@@ -1411,7 +1408,8 @@ void ixgbe_set_fdir_drop_queue_82599(struct ixgbe_hw *hw, u8 dropqueue)
        /* Set drop queue */
        fdirctrl |= (dropqueue << IXGBE_FDIRCTRL_DROP_Q_SHIFT);
        if ((hw->mac.type == ixgbe_mac_X550) ||
-           (hw->mac.type == ixgbe_mac_X550EM_x))
+           (hw->mac.type == ixgbe_mac_X550EM_x) ||
+           (hw->mac.type == ixgbe_mac_X550EM_a))
                fdirctrl |= IXGBE_FDIRCTRL_DROP_NO_MATCH;
 
        IXGBE_WRITE_REG(hw, IXGBE_FDIRCMD,
@@ -1833,6 +1831,7 @@ s32 ixgbe_fdir_set_input_mask_82599(struct ixgbe_hw *hw,
                switch (hw->mac.type) {
                case ixgbe_mac_X550:
                case ixgbe_mac_X550EM_x:
+               case ixgbe_mac_X550EM_a:
                        IXGBE_WRITE_REG(hw, IXGBE_FDIRSCTPM, ~fdirtcpm);
                        break;
                default: