priv->rx_data_slot_cnt is a field that holds the number of pages per RX QPL as passed by the device. With the modify ring size feature, this field no longer makes sense, as there is a clearly defined relationship on GQ between the ring size and the number of pages per RX QPL (1:1). As such, when a user modifies the ring size, this value would be useless, as the ring size dictates the number of pages in the QPL, and each QPL "knows" how many pages it holds.
tx_pages_per_qpl is unaffected by this because TX rings use a static number of pages per QPL. Signed-off-by: Joshua Washington <joshw...@google.com> Reviewed-by: Rushil Gupta <rush...@google.com> Reviewed-by: Harshitha Ramamurthy <hramamur...@google.com> --- drivers/net/gve/base/gve_adminq.c | 7 ------- drivers/net/gve/gve_ethdev.h | 3 +-- drivers/net/gve/gve_rx.c | 2 +- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/net/gve/base/gve_adminq.c b/drivers/net/gve/base/gve_adminq.c index eb8bed0d9b..c25fefbd0f 100644 --- a/drivers/net/gve/base/gve_adminq.c +++ b/drivers/net/gve/base/gve_adminq.c @@ -837,14 +837,7 @@ 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->rx_data_slot_cnt = be16_to_cpu(descriptor->rx_pages_per_qpl); - if (gve_is_gqi(priv) && priv->rx_data_slot_cnt < priv->rx_desc_cnt) { - PMD_DRV_LOG(ERR, - "rx_data_slot_cnt cannot be smaller than rx_desc_cnt, setting rx_desc_cnt down to %d", - priv->rx_data_slot_cnt); - priv->rx_desc_cnt = priv->rx_data_slot_cnt; - } priv->default_num_queues = be16_to_cpu(descriptor->default_num_queues); gve_enable_supported_features(priv, supported_features_mask, diff --git a/drivers/net/gve/gve_ethdev.h b/drivers/net/gve/gve_ethdev.h index 1731c2ab93..393a4362c9 100644 --- a/drivers/net/gve/gve_ethdev.h +++ b/drivers/net/gve/gve_ethdev.h @@ -238,8 +238,7 @@ struct gve_priv { uint16_t max_rx_desc_cnt; uint16_t tx_desc_cnt; /* txq size */ uint16_t rx_desc_cnt; /* rxq size */ - uint16_t tx_pages_per_qpl; /* tx buffer length */ - uint16_t rx_data_slot_cnt; /* rx buffer length */ + uint16_t tx_pages_per_qpl; /* Only valid for DQO_RDA queue format */ uint16_t tx_compq_size; /* tx completion queue size */ diff --git a/drivers/net/gve/gve_rx.c b/drivers/net/gve/gve_rx.c index 41987ec870..d2c6920406 100644 --- a/drivers/net/gve/gve_rx.c +++ b/drivers/net/gve/gve_rx.c @@ -386,7 +386,7 @@ gve_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_id, /* Allocate and register QPL for the queue. */ if (rxq->is_gqi_qpl) { rxq->qpl = gve_setup_queue_page_list(hw, queue_id, true, - hw->rx_data_slot_cnt); + nb_desc); if (!rxq->qpl) { PMD_DRV_LOG(ERR, "Failed to alloc rx qpl for queue %hu.", -- 2.45.2.803.g4e1b14247a-goog