net/ice: complete queue setup in DCF

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>
This commit is contained in:
Qi Zhang 2020-06-23 10:38:30 +08:00 committed by Ferruh Yigit
parent 6f0a54b74b
commit aa6c5845fb
3 changed files with 11 additions and 41 deletions

View 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,

View 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,

View 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;