}
static const struct fm10k_txq_ops def_txq_ops = {
- .release_mbufs = tx_queue_free,
.reset = tx_queue_reset,
};
for (i = 0; i < dev->data->nb_tx_queues; i++) {
struct fm10k_tx_queue *txq = dev->data->tx_queues[i];
- txq->ops->release_mbufs(txq);
+ tx_queue_free(txq);
}
}
if (dev->data->tx_queues[queue_id] != NULL) {
struct fm10k_tx_queue *txq = dev->data->tx_queues[queue_id];
- txq->ops->release_mbufs(txq);
+ tx_queue_free(txq);
dev->data->tx_queues[queue_id] = NULL;
}
struct fm10k_tx_queue *q = queue;
PMD_INIT_FUNC_TRACE();
- q->ops->release_mbufs(q);
+ tx_queue_free(q);
}
static int
#pragma GCC diagnostic ignored "-Wcast-qual"
#endif
-static void
-fm10k_tx_queue_release_mbufs_vec(struct fm10k_tx_queue *txq);
static void
fm10k_reset_tx_queue(struct fm10k_tx_queue *txq);
}
static const struct fm10k_txq_ops vec_txq_ops = {
- .release_mbufs = fm10k_tx_queue_release_mbufs_vec,
.reset = fm10k_reset_tx_queue,
};
return nb_pkts;
}
-static void __attribute__((cold))
-fm10k_tx_queue_release_mbufs_vec(struct fm10k_tx_queue *txq)
-{
- unsigned i;
- const uint16_t max_desc = (uint16_t)(txq->nb_desc - 1);
-
- if (txq->sw_ring == NULL || txq->nb_free == max_desc)
- return;
-
- /* release the used mbufs in sw_ring */
- for (i = txq->next_dd - (txq->rs_thresh - 1);
- i != txq->next_free;
- i = (i + 1) & max_desc)
- rte_pktmbuf_free_seg(txq->sw_ring[i]);
-
- txq->nb_free = max_desc;
-
- /* reset tx_entry */
- for (i = 0; i < txq->nb_desc; i++)
- txq->sw_ring[i] = NULL;
-
- rte_free(txq->sw_ring);
- txq->sw_ring = NULL;
-}
-
static void __attribute__((cold))
fm10k_reset_tx_queue(struct fm10k_tx_queue *txq)
{