[PATCH v2 3/8] net/enetc: save deferred start configuratin for queues
Jie Hai
haijie1 at huawei.com
Thu Sep 28 09:43:00 CEST 2023
This patch adds new fields to 'struct enetc_bdr' to save the
configuratin of Rx and Tx deferred start.
Signed-off-by: Jie Hai <haijie1 at huawei.com>
---
drivers/net/enetc/enetc.h | 2 ++
drivers/net/enetc/enetc_ethdev.c | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/drivers/net/enetc/enetc.h b/drivers/net/enetc/enetc.h
index 7163633bcedf..170854cd1649 100644
--- a/drivers/net/enetc/enetc.h
+++ b/drivers/net/enetc/enetc.h
@@ -74,6 +74,8 @@ struct enetc_bdr {
};
struct rte_mempool *mb_pool; /* mbuf pool to populate RX ring. */
struct rte_eth_dev *ndev;
+ bool rx_deferred_start;
+ bool tx_deferred_start;
};
/*
diff --git a/drivers/net/enetc/enetc_ethdev.c b/drivers/net/enetc/enetc_ethdev.c
index 1b4337bc488c..444792b7f77e 100644
--- a/drivers/net/enetc/enetc_ethdev.c
+++ b/drivers/net/enetc/enetc_ethdev.c
@@ -326,9 +326,11 @@ enetc_tx_queue_setup(struct rte_eth_dev *dev,
ENETC_TBMR, ENETC_TBMR_EN);
dev->data->tx_queue_state[tx_ring->index] =
RTE_ETH_QUEUE_STATE_STARTED;
+ tx_ring->tx_deferred_start = false;
} else {
dev->data->tx_queue_state[tx_ring->index] =
RTE_ETH_QUEUE_STATE_STOPPED;
+ tx_ring->tx_deferred_start = true;
}
return 0;
@@ -473,9 +475,11 @@ enetc_rx_queue_setup(struct rte_eth_dev *dev,
ENETC_RBMR_EN);
dev->data->rx_queue_state[rx_ring->index] =
RTE_ETH_QUEUE_STATE_STARTED;
+ rx_ring->rx_deferred_start = false;
} else {
dev->data->rx_queue_state[rx_ring->index] =
RTE_ETH_QUEUE_STATE_STOPPED;
+ rx_ring->rx_deferred_start = true;
}
rx_ring->crc_len = (uint8_t)((rx_offloads & RTE_ETH_RX_OFFLOAD_KEEP_CRC) ?
--
2.30.0
More information about the dev
mailing list