net/ice: complete queue setup in DCF
authorQi Zhang <qi.z.zhang@intel.com>
Tue, 23 Jun 2020 02:38:30 +0000 (10:38 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 30 Jun 2020 12:52:30 +0000 (14:52 +0200)
Delete original DCF queue setup functions and use ice
queue setup and release functions instead.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Signed-off-by: Ting Xu <ting.xu@intel.com>
Reviewed-by: Qiming Yang <qiming.yang@intel.com>
drivers/net/ice/ice_dcf_ethdev.c
drivers/net/ice/ice_dcf_ethdev.h
drivers/net/ice/ice_dcf_parent.c

index 01412ce..b07850e 100644 (file)
@@ -229,11 +229,6 @@ ice_dcf_dev_close(struct rte_eth_dev *dev)
        ice_dcf_uninit_hw(dev, &adapter->real_hw);
 }
 
-static void
-ice_dcf_queue_release(__rte_unused void *q)
-{
-}
-
 static int
 ice_dcf_link_update(__rte_unused struct rte_eth_dev *dev,
                    __rte_unused int wait_to_complete)
@@ -241,45 +236,16 @@ ice_dcf_link_update(__rte_unused struct rte_eth_dev *dev,
        return 0;
 }
 
-static int
-ice_dcf_rx_queue_setup(struct rte_eth_dev *dev,
-                      uint16_t rx_queue_id,
-                      __rte_unused uint16_t nb_rx_desc,
-                      __rte_unused unsigned int socket_id,
-                      __rte_unused const struct rte_eth_rxconf *rx_conf,
-                      __rte_unused struct rte_mempool *mb_pool)
-{
-       struct ice_dcf_adapter *adapter = dev->data->dev_private;
-
-       dev->data->rx_queues[rx_queue_id] = &adapter->rxqs[rx_queue_id];
-
-       return 0;
-}
-
-static int
-ice_dcf_tx_queue_setup(struct rte_eth_dev *dev,
-                      uint16_t tx_queue_id,
-                      __rte_unused uint16_t nb_tx_desc,
-                      __rte_unused unsigned int socket_id,
-                      __rte_unused const struct rte_eth_txconf *tx_conf)
-{
-       struct ice_dcf_adapter *adapter = dev->data->dev_private;
-
-       dev->data->tx_queues[tx_queue_id] = &adapter->txqs[tx_queue_id];
-
-       return 0;
-}
-
 static const struct eth_dev_ops ice_dcf_eth_dev_ops = {
        .dev_start               = ice_dcf_dev_start,
        .dev_stop                = ice_dcf_dev_stop,
        .dev_close               = ice_dcf_dev_close,
        .dev_configure           = ice_dcf_dev_configure,
        .dev_infos_get           = ice_dcf_dev_info_get,
-       .rx_queue_setup          = ice_dcf_rx_queue_setup,
-       .tx_queue_setup          = ice_dcf_tx_queue_setup,
-       .rx_queue_release        = ice_dcf_queue_release,
-       .tx_queue_release        = ice_dcf_queue_release,
+       .rx_queue_setup          = ice_rx_queue_setup,
+       .tx_queue_setup          = ice_tx_queue_setup,
+       .rx_queue_release        = ice_rx_queue_release,
+       .tx_queue_release        = ice_tx_queue_release,
        .link_update             = ice_dcf_link_update,
        .stats_get               = ice_dcf_stats_get,
        .stats_reset             = ice_dcf_stats_reset,
index e60e808..b54528b 100644 (file)
@@ -19,10 +19,7 @@ struct ice_dcf_queue {
 
 struct ice_dcf_adapter {
        struct ice_adapter parent; /* Must be first */
-
        struct ice_dcf_hw real_hw;
-       struct ice_dcf_queue rxqs[ICE_DCF_MAX_RINGS];
-       struct ice_dcf_queue txqs[ICE_DCF_MAX_RINGS];
 };
 
 void ice_dcf_handle_pf_event_msg(struct ice_dcf_hw *dcf_hw,
index d13e19d..322a527 100644 (file)
@@ -335,6 +335,13 @@ ice_dcf_init_parent_adapter(struct rte_eth_dev *eth_dev)
        parent_adapter->eth_dev = eth_dev;
        parent_adapter->pf.adapter = parent_adapter;
        parent_adapter->pf.dev_data = eth_dev->data;
+       /* create a dummy main_vsi */
+       parent_adapter->pf.main_vsi =
+               rte_zmalloc(NULL, sizeof(struct ice_vsi), 0);
+       if (!parent_adapter->pf.main_vsi)
+               return -ENOMEM;
+       parent_adapter->pf.main_vsi->adapter = parent_adapter;
+
        parent_hw->back = parent_adapter;
        parent_hw->mac_type = ICE_MAC_GENERIC;
        parent_hw->vendor_id = ICE_INTEL_VENDOR_ID;