From: Mark Blasko <[email protected]>

Replace default_num_queues with separate default_tx_num_queues and
default_rx_num_queues fields in struct gve_priv. Update AdminQ device
description and queue initialization logic to use the per-direction
default queue counts.

Signed-off-by: Mark Blasko <[email protected]>
Signed-off-by: Joshua Washington <[email protected]>
---
 drivers/net/gve/base/gve_adminq.c | 4 ++--
 drivers/net/gve/gve_ethdev.c      | 8 ++++----
 drivers/net/gve/gve_ethdev.h      | 3 ++-
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/net/gve/base/gve_adminq.c 
b/drivers/net/gve/base/gve_adminq.c
index 74b9a0125c..4dd095880d 100644
--- a/drivers/net/gve/base/gve_adminq.c
+++ b/drivers/net/gve/base/gve_adminq.c
@@ -1083,8 +1083,8 @@ int gve_adminq_describe_device(struct gve_priv *priv)
        PMD_DRV_LOG(INFO, "MAC addr: " RTE_ETHER_ADDR_PRT_FMT,
                    RTE_ETHER_ADDR_BYTES(&priv->dev_addr));
        priv->tx_pages_per_qpl = be16_to_cpu(descriptor->tx_pages_per_qpl);
-
-       priv->default_num_queues = be16_to_cpu(descriptor->default_num_queues);
+       priv->default_tx_num_queues = 
be16_to_cpu(descriptor->default_num_queues);
+       priv->default_rx_num_queues = 
be16_to_cpu(descriptor->default_num_queues);
 
        gve_enable_supported_features(priv, supported_features_mask,
                                      dev_op_flow_steering, dev_op_modify_ring,
diff --git a/drivers/net/gve/gve_ethdev.c b/drivers/net/gve/gve_ethdev.c
index 9cfdd03b9d..3ba99fd74c 100644
--- a/drivers/net/gve/gve_ethdev.c
+++ b/drivers/net/gve/gve_ethdev.c
@@ -1652,10 +1652,10 @@ gve_init_priv(struct gve_priv *priv, bool 
skip_describe_device)
        priv->max_nb_txq = RTE_MIN(priv->max_nb_txq, priv->num_ntfy_blks / 2);
        priv->max_nb_rxq = RTE_MIN(priv->max_nb_rxq, priv->num_ntfy_blks / 2);
 
-       if (priv->default_num_queues > 0) {
-               priv->max_nb_txq = RTE_MIN(priv->default_num_queues, 
priv->max_nb_txq);
-               priv->max_nb_rxq = RTE_MIN(priv->default_num_queues, 
priv->max_nb_rxq);
-       }
+       if (priv->default_tx_num_queues > 0)
+               priv->max_nb_txq = RTE_MIN(priv->default_tx_num_queues, 
priv->max_nb_txq);
+       if (priv->default_rx_num_queues > 0)
+               priv->max_nb_rxq = RTE_MIN(priv->default_rx_num_queues, 
priv->max_nb_rxq);
 
        PMD_DRV_LOG(INFO, "Max TX queues %d, Max RX queues %d",
                    priv->max_nb_txq, priv->max_nb_rxq);
diff --git a/drivers/net/gve/gve_ethdev.h b/drivers/net/gve/gve_ethdev.h
index ef54b75c32..1a0ac87ed8 100644
--- a/drivers/net/gve/gve_ethdev.h
+++ b/drivers/net/gve/gve_ethdev.h
@@ -344,7 +344,8 @@ struct gve_priv {
 
        uint64_t max_registered_pages;
        uint64_t num_registered_pages; /* num pages registered with NIC */
-       uint16_t default_num_queues; /* default num queues to set up */
+       uint16_t default_tx_num_queues; /* default num tx queues to set up */
+       uint16_t default_rx_num_queues; /* default num rx queues to set up */
        enum gve_queue_format queue_format; /* see enum gve_queue_format */
        uint8_t enable_rsc;
 
-- 
2.56.0.rc1.315.gc6ed9934b7-goog

Reply via email to