net/liquidio: fix jumbo frame flag condition for MTU set
[dpdk.git] / drivers / net / enic / enic_ethdev.c
index 27f60b4..d041a6b 100644 (file)
@@ -72,51 +72,6 @@ static const struct vic_speed_capa {
 
 RTE_LOG_REGISTER(enic_pmd_logtype, pmd.net.enic, INFO);
 
-static int
-enicpmd_fdir_ctrl_func(struct rte_eth_dev *eth_dev,
-                       enum rte_filter_op filter_op, void *arg)
-{
-       struct enic *enic = pmd_priv(eth_dev);
-       int ret = 0;
-
-       ENICPMD_FUNC_TRACE();
-       if (filter_op == RTE_ETH_FILTER_NOP)
-               return 0;
-
-       if (arg == NULL && filter_op != RTE_ETH_FILTER_FLUSH)
-               return -EINVAL;
-
-       switch (filter_op) {
-       case RTE_ETH_FILTER_ADD:
-       case RTE_ETH_FILTER_UPDATE:
-               ret = enic_fdir_add_fltr(enic,
-                       (struct rte_eth_fdir_filter *)arg);
-               break;
-
-       case RTE_ETH_FILTER_DELETE:
-               ret = enic_fdir_del_fltr(enic,
-                       (struct rte_eth_fdir_filter *)arg);
-               break;
-
-       case RTE_ETH_FILTER_STATS:
-               enic_fdir_stats_get(enic, (struct rte_eth_fdir_stats *)arg);
-               break;
-
-       case RTE_ETH_FILTER_FLUSH:
-               dev_warning(enic, "unsupported operation %u", filter_op);
-               ret = -ENOTSUP;
-               break;
-       case RTE_ETH_FILTER_INFO:
-               enic_fdir_info_get(enic, (struct rte_eth_fdir_info *)arg);
-               break;
-       default:
-               dev_err(enic, "unknown operation %u", filter_op);
-               ret = -EINVAL;
-               break;
-       }
-       return ret;
-}
-
 static int
 enicpmd_dev_filter_ctrl(struct rte_eth_dev *dev,
                     enum rte_filter_type filter_type,
@@ -143,9 +98,6 @@ enicpmd_dev_filter_ctrl(struct rte_eth_dev *dev,
                else
                        *(const void **)arg = &enic_flow_ops;
                break;
-       case RTE_ETH_FILTER_FDIR:
-               ret = enicpmd_fdir_ctrl_func(dev, filter_op, arg);
-               break;
        default:
                dev_warning(enic, "Filter type (%d) not supported",
                        filter_type);
@@ -428,19 +380,21 @@ static int enicpmd_dev_start(struct rte_eth_dev *eth_dev)
 /*
  * Stop device: disable rx and tx functions to allow for reconfiguring.
  */
-static void enicpmd_dev_stop(struct rte_eth_dev *eth_dev)
+static int enicpmd_dev_stop(struct rte_eth_dev *eth_dev)
 {
        struct rte_eth_link link;
        struct enic *enic = pmd_priv(eth_dev);
 
        if (rte_eal_process_type() != RTE_PROC_PRIMARY)
-               return;
+               return 0;
 
        ENICPMD_FUNC_TRACE();
        enic_disable(enic);
 
        memset(&link, 0, sizeof(link));
        rte_eth_linkstatus_set(eth_dev, &link);
+
+       return 0;
 }
 
 /*
@@ -451,6 +405,9 @@ static int enicpmd_dev_close(struct rte_eth_dev *eth_dev)
        struct enic *enic = pmd_priv(eth_dev);
 
        ENICPMD_FUNC_TRACE();
+       if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+               return 0;
+
        enic_remove(enic);
 
        return 0;
@@ -1295,6 +1252,7 @@ static int eth_enic_dev_init(struct rte_eth_dev *eth_dev,
 
        pdev = RTE_ETH_DEV_TO_PCI(eth_dev);
        rte_eth_copy_pci_info(eth_dev, pdev);
+       eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
        enic->pdev = pdev;
        addr = &pdev->addr;