crypto/qat: support DOCSIS protocol
[dpdk.git] / drivers / net / iavf / iavf_ethdev.c
index 9dadee3..d69e528 100644 (file)
@@ -74,20 +74,6 @@ static int iavf_dev_filter_ctrl(struct rte_eth_dev *dev,
                     enum rte_filter_op filter_op,
                     void *arg);
 
-
-int iavf_logtype_init;
-int iavf_logtype_driver;
-
-#ifdef RTE_LIBRTE_IAVF_DEBUG_RX
-int iavf_logtype_rx;
-#endif
-#ifdef RTE_LIBRTE_IAVF_DEBUG_TX
-int iavf_logtype_tx;
-#endif
-#ifdef RTE_LIBRTE_IAVF_DEBUG_TX_FREE
-int iavf_logtype_tx_free;
-#endif
-
 static const struct rte_pci_id pci_id_iavf_map[] = {
        { RTE_PCI_DEVICE(IAVF_INTEL_VENDOR_ID, IAVF_DEV_ID_ADAPTIVE_VF) },
        { .vendor_id = 0, /* sentinel */ },
@@ -1083,7 +1069,7 @@ iavf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
        } else {
                PMD_DRV_LOG(ERR, "Get statistics failed");
        }
-       return -EIO;
+       return ret;
 }
 
 static int
@@ -1245,6 +1231,14 @@ iavf_init_vf(struct rte_eth_dev *dev)
                        goto err_rss;
                }
        }
+
+       if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC) {
+               if (iavf_get_supported_rxdid(adapter) != 0) {
+                       PMD_INIT_LOG(ERR, "failed to do get supported rxdid");
+                       goto err_rss;
+               }
+       }
+
        return 0;
 err_rss:
        rte_free(vf->rss_key);
@@ -1423,6 +1417,8 @@ iavf_dev_close(struct rte_eth_dev *dev)
                IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 
        iavf_dev_stop(dev);
+       iavf_flow_flush(dev, NULL);
+       iavf_flow_uninit(adapter);
        iavf_shutdown_adminq(hw);
        /* disable uio intr before callback unregister */
        rte_intr_disable(intr_handle);
@@ -1431,8 +1427,6 @@ iavf_dev_close(struct rte_eth_dev *dev)
        rte_intr_callback_unregister(intr_handle,
                                     iavf_dev_interrupt_handler, dev);
        iavf_disable_irq0(hw);
-
-       iavf_flow_uninit(adapter);
 }
 
 static int
@@ -1548,30 +1542,14 @@ RTE_PMD_REGISTER_PCI(net_iavf, rte_iavf_pmd);
 RTE_PMD_REGISTER_PCI_TABLE(net_iavf, pci_id_iavf_map);
 RTE_PMD_REGISTER_KMOD_DEP(net_iavf, "* igb_uio | vfio-pci");
 RTE_PMD_REGISTER_PARAM_STRING(net_iavf, "cap=dcf");
-RTE_INIT(iavf_init_log)
-{
-       iavf_logtype_init = rte_log_register("pmd.net.iavf.init");
-       if (iavf_logtype_init >= 0)
-               rte_log_set_level(iavf_logtype_init, RTE_LOG_NOTICE);
-       iavf_logtype_driver = rte_log_register("pmd.net.iavf.driver");
-       if (iavf_logtype_driver >= 0)
-               rte_log_set_level(iavf_logtype_driver, RTE_LOG_NOTICE);
-
+RTE_LOG_REGISTER(iavf_logtype_init, pmd.net.iavf.init, NOTICE);
+RTE_LOG_REGISTER(iavf_logtype_driver, pmd.net.iavf.driver, NOTICE);
 #ifdef RTE_LIBRTE_IAVF_DEBUG_RX
-       iavf_logtype_rx = rte_log_register("pmd.net.iavf.rx");
-       if (iavf_logtype_rx >= 0)
-               rte_log_set_level(iavf_logtype_rx, RTE_LOG_DEBUG);
+RTE_LOG_REGISTER(iavf_logtype_rx, pmd.net.iavf.rx, DEBUG);
 #endif
-
 #ifdef RTE_LIBRTE_IAVF_DEBUG_TX
-       iavf_logtype_tx = rte_log_register("pmd.net.iavf.tx");
-       if (iavf_logtype_tx >= 0)
-               rte_log_set_level(iavf_logtype_tx, RTE_LOG_DEBUG);
+RTE_LOG_REGISTER(iavf_logtype_tx, pmd.net.iavf.tx, DEBUG);
 #endif
-
 #ifdef RTE_LIBRTE_IAVF_DEBUG_TX_FREE
-       iavf_logtype_tx_free = rte_log_register("pmd.net.iavf.tx_free");
-       if (iavf_logtype_tx_free >= 0)
-               rte_log_set_level(iavf_logtype_tx_free, RTE_LOG_DEBUG);
+RTE_LOG_REGISTER(iavf_logtype_tx_free, pmd.net.iavf.tx_free, DEBUG);
 #endif
-}