ixgbe: further flow director performance optimizations
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / net / ixgbe / ixgbe_ethtool.c
index 23ff23e8b39396231b32eb360129b67a85bb197e..76e40e2b37e5e54e50767bba9b09bf045197d6c8 100644 (file)
@@ -1477,9 +1477,7 @@ static void ixgbe_free_desc_rings(struct ixgbe_adapter *adapter)
        reg_ctl = IXGBE_READ_REG(hw, IXGBE_RXCTRL);
        reg_ctl &= ~IXGBE_RXCTRL_RXEN;
        IXGBE_WRITE_REG(hw, IXGBE_RXCTRL, reg_ctl);
-       reg_ctl = IXGBE_READ_REG(hw, IXGBE_RXDCTL(rx_ring->reg_idx));
-       reg_ctl &= ~IXGBE_RXDCTL_ENABLE;
-       IXGBE_WRITE_REG(hw, IXGBE_RXDCTL(rx_ring->reg_idx), reg_ctl);
+       ixgbe_disable_rx_queue(adapter, rx_ring);
 
        /* now Tx */
        reg_ctl = IXGBE_READ_REG(hw, IXGBE_TXDCTL(tx_ring->reg_idx));
@@ -2280,7 +2278,7 @@ static int ixgbe_set_rx_ntuple(struct net_device *dev,
 {
        struct ixgbe_adapter *adapter = netdev_priv(dev);
        struct ethtool_rx_ntuple_flow_spec fs = cmd->fs;
-       struct ixgbe_atr_input input_struct;
+       union ixgbe_atr_input input_struct;
        struct ixgbe_atr_input_masks input_masks;
        int target_queue;
 
@@ -2295,7 +2293,7 @@ static int ixgbe_set_rx_ntuple(struct net_device *dev,
            (fs.action < ETHTOOL_RXNTUPLE_ACTION_DROP))
                return -EINVAL;
 
-       memset(&input_struct, 0, sizeof(struct ixgbe_atr_input));
+       memset(&input_struct, 0, sizeof(union ixgbe_atr_input));
        memset(&input_masks, 0, sizeof(struct ixgbe_atr_input_masks));
 
        input_masks.src_ip_mask = fs.m_u.tcp_ip4_spec.ip4src;