raw/ioat: allow perform operations function to return error
[dpdk.git] / drivers / net / i40e / i40e_ethdev.c
index 09a1402..e6206a7 100644 (file)
@@ -27,6 +27,7 @@
 #include <rte_tailq.h>
 #include <rte_hash_crc.h>
 #include <rte_bitmap.h>
+#include <rte_os_shim.h>
 
 #include "i40e_logs.h"
 #include "base/i40e_prototype.h"
@@ -338,10 +339,8 @@ static int i40e_dev_udp_tunnel_port_add(struct rte_eth_dev *dev,
 static int i40e_dev_udp_tunnel_port_del(struct rte_eth_dev *dev,
                                        struct rte_eth_udp_tunnel *udp_tunnel);
 static void i40e_filter_input_set_init(struct i40e_pf *pf);
-static int i40e_dev_filter_ctrl(struct rte_eth_dev *dev,
-                               enum rte_filter_type filter_type,
-                               enum rte_filter_op filter_op,
-                               void *arg);
+static int i40e_dev_flow_ops_get(struct rte_eth_dev *dev,
+                                const struct rte_flow_ops **ops);
 static int i40e_dev_get_dcb_info(struct rte_eth_dev *dev,
                                  struct rte_eth_dcb_info *dcb_info);
 static int i40e_dev_sync_phy_type(struct i40e_hw *hw);
@@ -503,7 +502,7 @@ static const struct eth_dev_ops i40e_eth_dev_ops = {
        .rss_hash_conf_get            = i40e_dev_rss_hash_conf_get,
        .udp_tunnel_port_add          = i40e_dev_udp_tunnel_port_add,
        .udp_tunnel_port_del          = i40e_dev_udp_tunnel_port_del,
-       .filter_ctrl                  = i40e_dev_filter_ctrl,
+       .flow_ops_get                 = i40e_dev_flow_ops_get,
        .rxq_info_get                 = i40e_rxq_info_get,
        .txq_info_get                 = i40e_txq_info_get,
        .rx_burst_mode_get            = i40e_rx_burst_mode_get,
@@ -2308,7 +2307,8 @@ i40e_phy_conf_link(struct i40e_hw *hw,
        phy_conf.phy_type = is_up ? cpu_to_le32(phy_type_mask) : 0;
        phy_conf.phy_type_ext = is_up ? (I40E_AQ_PHY_TYPE_EXT_25G_KR |
                I40E_AQ_PHY_TYPE_EXT_25G_CR | I40E_AQ_PHY_TYPE_EXT_25G_SR |
-               I40E_AQ_PHY_TYPE_EXT_25G_LR) : 0;
+               I40E_AQ_PHY_TYPE_EXT_25G_LR | I40E_AQ_PHY_TYPE_EXT_25G_AOC |
+               I40E_AQ_PHY_TYPE_EXT_25G_ACC) : 0;
        phy_conf.fec_config = phy_ab.fec_cfg_curr_mod_ext_info;
        phy_conf.eee_capability = phy_ab.eee_capability;
        phy_conf.eeer = phy_ab.eeer_val;
@@ -9878,30 +9878,14 @@ i40e_ethertype_filter_set(struct i40e_pf *pf,
 }
 
 static int
-i40e_dev_filter_ctrl(struct rte_eth_dev *dev,
-                    enum rte_filter_type filter_type,
-                    enum rte_filter_op filter_op,
-                    void *arg)
+i40e_dev_flow_ops_get(struct rte_eth_dev *dev,
+                     const struct rte_flow_ops **ops)
 {
-       int ret = 0;
-
        if (dev == NULL)
                return -EINVAL;
 
-       switch (filter_type) {
-       case RTE_ETH_FILTER_GENERIC:
-               if (filter_op != RTE_ETH_FILTER_GET)
-                       return -EINVAL;
-               *(const void **)arg = &i40e_flow_ops;
-               break;
-       default:
-               PMD_DRV_LOG(WARNING, "Filter type (%d) not supported",
-                                                       filter_type);
-               ret = -EINVAL;
-               break;
-       }
-
-       return ret;
+       *ops = &i40e_flow_ops;
+       return 0;
 }
 
 /*
@@ -11677,9 +11661,6 @@ static int i40e_get_module_eeprom(struct rte_eth_dev *dev,
        uint32_t value = 0;
        uint32_t i;
 
-       if (!info || !info->length || !info->data)
-               return -EINVAL;
-
        if (hw->phy.link_info.module_type[0] == I40E_MODULE_TYPE_SFP)
                is_sfp = true;
 
@@ -12466,15 +12447,12 @@ i40e_cloud_filter_qinq_create(struct i40e_pf *pf)
 
 RTE_LOG_REGISTER(i40e_logtype_init, pmd.net.i40e.init, NOTICE);
 RTE_LOG_REGISTER(i40e_logtype_driver, pmd.net.i40e.driver, NOTICE);
-#ifdef RTE_LIBRTE_I40E_DEBUG_RX
+#ifdef RTE_ETHDEV_DEBUG_RX
 RTE_LOG_REGISTER(i40e_logtype_rx, pmd.net.i40e.rx, DEBUG);
 #endif
-#ifdef RTE_LIBRTE_I40E_DEBUG_TX
+#ifdef RTE_ETHDEV_DEBUG_TX
 RTE_LOG_REGISTER(i40e_logtype_tx, pmd.net.i40e.tx, DEBUG);
 #endif
-#ifdef RTE_LIBRTE_I40E_DEBUG_TX_FREE
-RTE_LOG_REGISTER(i40e_logtype_tx_free, pmd.net.i40e.tx_free, DEBUG);
-#endif
 
 RTE_PMD_REGISTER_PARAM_STRING(net_i40e,
                              ETH_I40E_FLOATING_VEB_ARG "=1"