net/mlx5: add Tx/Rx burst function selection wrapper
These wrappers are meant to prevent code duplication later. Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
This commit is contained in:
parent
e72dd09b61
commit
cdab90cb5c
@ -196,6 +196,8 @@ void priv_dev_interrupt_handler_install(struct priv *, struct rte_eth_dev *);
|
||||
int mlx5_set_link_down(struct rte_eth_dev *dev);
|
||||
int mlx5_set_link_up(struct rte_eth_dev *dev);
|
||||
struct priv *mlx5_secondary_data_setup(struct priv *priv);
|
||||
void priv_select_tx_function(struct priv *);
|
||||
void priv_select_rx_function(struct priv *);
|
||||
|
||||
/* mlx5_mac.c */
|
||||
|
||||
|
@ -1099,8 +1099,8 @@ priv_set_link(struct priv *priv, int up)
|
||||
err = priv_set_flags(priv, ~IFF_UP, IFF_UP);
|
||||
if (err)
|
||||
return err;
|
||||
dev->rx_pkt_burst = mlx5_rx_burst;
|
||||
dev->tx_pkt_burst = mlx5_tx_burst;
|
||||
priv_select_tx_function(priv);
|
||||
priv_select_rx_function(priv);
|
||||
} else {
|
||||
err = priv_set_flags(priv, ~IFF_UP, ~IFF_UP);
|
||||
if (err)
|
||||
@ -1290,13 +1290,11 @@ mlx5_secondary_data_setup(struct priv *priv)
|
||||
rte_mb();
|
||||
priv->dev->data = &sd->data;
|
||||
rte_mb();
|
||||
priv->dev->tx_pkt_burst = mlx5_tx_burst;
|
||||
priv->dev->rx_pkt_burst = removed_rx_burst;
|
||||
priv_select_tx_function(priv);
|
||||
priv_select_rx_function(priv);
|
||||
priv_unlock(priv);
|
||||
end:
|
||||
/* More sanity checks. */
|
||||
assert(priv->dev->tx_pkt_burst == mlx5_tx_burst);
|
||||
assert(priv->dev->rx_pkt_burst == removed_rx_burst);
|
||||
assert(priv->dev->data == &sd->data);
|
||||
rte_spinlock_unlock(&sd->lock);
|
||||
return priv;
|
||||
@ -1307,3 +1305,27 @@ error:
|
||||
rte_spinlock_unlock(&sd->lock);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the TX function to use.
|
||||
*
|
||||
* @param priv
|
||||
* Pointer to private structure.
|
||||
*/
|
||||
void
|
||||
priv_select_tx_function(struct priv *priv)
|
||||
{
|
||||
priv->dev->tx_pkt_burst = mlx5_tx_burst;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the RX function to use.
|
||||
*
|
||||
* @param priv
|
||||
* Pointer to private structure.
|
||||
*/
|
||||
void
|
||||
priv_select_rx_function(struct priv *priv)
|
||||
{
|
||||
priv->dev->rx_pkt_burst = mlx5_rx_burst;
|
||||
}
|
||||
|
@ -478,7 +478,7 @@ mlx5_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
|
||||
(void *)dev, (void *)txq_ctrl);
|
||||
(*priv->txqs)[idx] = &txq_ctrl->txq;
|
||||
/* Update send callback. */
|
||||
dev->tx_pkt_burst = mlx5_tx_burst;
|
||||
priv_select_tx_function(priv);
|
||||
}
|
||||
priv_unlock(priv);
|
||||
return -ret;
|
||||
|
Loading…
x
Reference in New Issue
Block a user