[v2,3/8] net/enetc: save deferred start configuratin for queues

Message ID 20230928074305.2991100-4-haijie1@huawei.com (mailing list archive)
State Rejected, archived
Delegated to: Ferruh Yigit
Headers
Series fix Rx and Tx queue state |

Checks

Context Check Description
ci/checkpatch warning coding style issues

Commit Message

Jie Hai Sept. 28, 2023, 7:43 a.m. UTC
  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@huawei.com>
---
 drivers/net/enetc/enetc.h        | 2 ++
 drivers/net/enetc/enetc_ethdev.c | 4 ++++
 2 files changed, 6 insertions(+)
  

Patch

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) ?