net/bnxt: add Tx TruFlow table config for P4 device
[dpdk.git] / drivers / net / mlx4 / mlx4_ethdev.c
index 928a81a..d606ec8 100644 (file)
@@ -8,7 +8,6 @@
  * Miscellaneous control operations for mlx4 driver.
  */
 
-#include <assert.h>
 #include <dirent.h>
 #include <errno.h>
 #include <linux/ethtool.h>
@@ -35,7 +34,7 @@
 
 #include <rte_bus_pci.h>
 #include <rte_errno.h>
-#include <rte_ethdev_driver.h>
+#include <ethdev_driver.h>
 #include <rte_ether.h>
 #include <rte_flow.h>
 #include <rte_pci.h>
@@ -414,11 +413,14 @@ mlx4_promiscuous_disable(struct rte_eth_dev *dev)
  *
  * @param dev
  *   Pointer to Ethernet device structure.
+ *
+ * @return
+ *   0 on success, a negative errno value otherwise and rte_errno is set.
  */
-void
+int
 mlx4_allmulticast_enable(struct rte_eth_dev *dev)
 {
-       mlx4_rxmode_toggle(dev, RXMODE_TOGGLE_ALLMULTI_ON);
+       return mlx4_rxmode_toggle(dev, RXMODE_TOGGLE_ALLMULTI_ON);
 }
 
 /**
@@ -426,11 +428,14 @@ mlx4_allmulticast_enable(struct rte_eth_dev *dev)
  *
  * @param dev
  *   Pointer to Ethernet device structure.
+ *
+ * @return
+ *   0 on success, a negative errno value otherwise and rte_errno is set.
  */
-void
+int
 mlx4_allmulticast_disable(struct rte_eth_dev *dev)
 {
-       mlx4_rxmode_toggle(dev, RXMODE_TOGGLE_ALLMULTI_OFF);
+       return mlx4_rxmode_toggle(dev, RXMODE_TOGGLE_ALLMULTI_OFF);
 }
 
 /**
@@ -640,9 +645,8 @@ mlx4_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
         */
        max = ((priv->device_attr.max_cq > priv->device_attr.max_qp) ?
               priv->device_attr.max_qp : priv->device_attr.max_cq);
-       /* If max >= 65535 then max = 0, max_rx_queues is uint16_t. */
-       if (max >= 65535)
-               max = 65535;
+       /* max_rx_queues is uint16_t. */
+       max = RTE_MIN(max, (unsigned int)UINT16_MAX);
        info->max_rx_queues = max;
        info->max_tx_queues = max;
        info->max_mac_addrs = RTE_DIM(priv->mac);
@@ -653,11 +657,11 @@ mlx4_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
        info->if_index = priv->if_index;
        info->hash_key_size = MLX4_RSS_HASH_KEY_SIZE;
        info->speed_capa =
-                       ETH_LINK_SPEED_1G |
-                       ETH_LINK_SPEED_10G |
-                       ETH_LINK_SPEED_20G |
-                       ETH_LINK_SPEED_40G |
-                       ETH_LINK_SPEED_56G;
+                       RTE_ETH_LINK_SPEED_1G |
+                       RTE_ETH_LINK_SPEED_10G |
+                       RTE_ETH_LINK_SPEED_20G |
+                       RTE_ETH_LINK_SPEED_40G |
+                       RTE_ETH_LINK_SPEED_56G;
        info->flow_type_rss_offloads = mlx4_conv_rss_types(priv, 0, 1);
 
        return 0;
@@ -817,13 +821,13 @@ mlx4_link_update(struct rte_eth_dev *dev, int wait_to_complete)
        }
        link_speed = ethtool_cmd_speed(&edata);
        if (link_speed == -1)
-               dev_link.link_speed = ETH_SPEED_NUM_NONE;
+               dev_link.link_speed = RTE_ETH_SPEED_NUM_NONE;
        else
                dev_link.link_speed = link_speed;
        dev_link.link_duplex = ((edata.duplex == DUPLEX_HALF) ?
-                               ETH_LINK_HALF_DUPLEX : ETH_LINK_FULL_DUPLEX);
+                               RTE_ETH_LINK_HALF_DUPLEX : RTE_ETH_LINK_FULL_DUPLEX);
        dev_link.link_autoneg = !(dev->data->dev_conf.link_speeds &
-                                 ETH_LINK_SPEED_FIXED);
+                                 RTE_ETH_LINK_SPEED_FIXED);
        dev->data->dev_link = dev_link;
        return 0;
 }
@@ -859,16 +863,16 @@ mlx4_flow_ctrl_get(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
        }
        fc_conf->autoneg = ethpause.autoneg;
        if (ethpause.rx_pause && ethpause.tx_pause)
-               fc_conf->mode = RTE_FC_FULL;
+               fc_conf->mode = RTE_ETH_FC_FULL;
        else if (ethpause.rx_pause)
-               fc_conf->mode = RTE_FC_RX_PAUSE;
+               fc_conf->mode = RTE_ETH_FC_RX_PAUSE;
        else if (ethpause.tx_pause)
-               fc_conf->mode = RTE_FC_TX_PAUSE;
+               fc_conf->mode = RTE_ETH_FC_TX_PAUSE;
        else
-               fc_conf->mode = RTE_FC_NONE;
+               fc_conf->mode = RTE_ETH_FC_NONE;
        ret = 0;
 out:
-       assert(ret >= 0);
+       MLX4_ASSERT(ret >= 0);
        return -ret;
 }
 
@@ -895,13 +899,13 @@ mlx4_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
 
        ifr.ifr_data = (void *)&ethpause;
        ethpause.autoneg = fc_conf->autoneg;
-       if (((fc_conf->mode & RTE_FC_FULL) == RTE_FC_FULL) ||
-           (fc_conf->mode & RTE_FC_RX_PAUSE))
+       if (((fc_conf->mode & RTE_ETH_FC_FULL) == RTE_ETH_FC_FULL) ||
+           (fc_conf->mode & RTE_ETH_FC_RX_PAUSE))
                ethpause.rx_pause = 1;
        else
                ethpause.rx_pause = 0;
-       if (((fc_conf->mode & RTE_FC_FULL) == RTE_FC_FULL) ||
-           (fc_conf->mode & RTE_FC_TX_PAUSE))
+       if (((fc_conf->mode & RTE_ETH_FC_FULL) == RTE_ETH_FC_FULL) ||
+           (fc_conf->mode & RTE_ETH_FC_TX_PAUSE))
                ethpause.tx_pause = 1;
        else
                ethpause.tx_pause = 0;
@@ -914,7 +918,7 @@ mlx4_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
        }
        ret = 0;
 out:
-       assert(ret >= 0);
+       MLX4_ASSERT(ret >= 0);
        return -ret;
 }