[1/2] net/bnxt: refactor multi queue Rx configuration

Message ID 20210426060755.12821-1-somnath.kotur@broadcom.com (mailing list archive)
State Accepted, archived
Delegated to: Ajit Khaparde
Headers
Series [1/2] net/bnxt: refactor multi queue Rx configuration |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Somnath Kotur April 26, 2021, 6:07 a.m. UTC
  Eliminate separate codepath/handling for single queue
as the multiqueue code path takes care of it as well.
The only difference being the end_grp_id being 1
now instead of 0 for single queue, but that does not matter
for single queue and does not alter any functionality.

Fixes: 6133f207970c ("net/bnxt: add Rx queue create/destroy")

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_rxq.c | 30 ------------------------------
 1 file changed, 30 deletions(-)
  

Comments

Ajit Khaparde May 2, 2021, 10:30 p.m. UTC | #1
On Sun, Apr 25, 2021 at 11:09 PM Somnath Kotur <somnath.kotur@broadcom.com>
wrote:

> Eliminate separate codepath/handling for single queue
> as the multiqueue code path takes care of it as well.
> The only difference being the end_grp_id being 1
> now instead of 0 for single queue, but that does not matter
> for single queue and does not alter any functionality.
>
> Fixes: 6133f207970c ("net/bnxt: add Rx queue create/destroy")
>
> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
>
Patch applied to dpdk-next-net-brcm.



> ---
>  drivers/net/bnxt/bnxt_rxq.c | 30 ------------------------------
>  1 file changed, 30 deletions(-)
>
> diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c
> index 2b0d3d4ac7..45e0c3d01c 100644
> --- a/drivers/net/bnxt/bnxt_rxq.c
> +++ b/drivers/net/bnxt/bnxt_rxq.c
> @@ -40,35 +40,6 @@ int bnxt_mq_rx_configure(struct bnxt *bp)
>
>         bp->nr_vnics = 0;
>
> -       /* Single queue mode */
> -       if (bp->rx_cp_nr_rings < 2) {
> -               vnic = &bp->vnic_info[0];
> -               if (!vnic) {
> -                       PMD_DRV_LOG(ERR, "VNIC alloc failed\n");
> -                       rc = -ENOMEM;
> -                       goto err_out;
> -               }
> -               vnic->flags |= BNXT_VNIC_INFO_BCAST;
> -               bp->nr_vnics++;
> -
> -               rxq = bp->eth_dev->data->rx_queues[0];
> -               rxq->vnic = vnic;
> -
> -               vnic->func_default = true;
> -               vnic->start_grp_id = 0;
> -               vnic->end_grp_id = vnic->start_grp_id;
> -               filter = bnxt_alloc_filter(bp);
> -               if (!filter) {
> -                       PMD_DRV_LOG(ERR, "L2 filter alloc failed\n");
> -                       rc = -ENOMEM;
> -                       goto err_out;
> -               }
> -               filter->mac_index = 0;
> -               filter->flags |=
> HWRM_CFA_L2_FILTER_ALLOC_INPUT_FLAGS_OUTERMOST;
> -               STAILQ_INSERT_TAIL(&vnic->filter, filter, next);
> -               goto out;
> -       }
> -
>         /* Multi-queue mode */
>         if (dev_conf->rxmode.mq_mode & ETH_MQ_RX_VMDQ_DCB_RSS) {
>                 /* VMDq ONLY, VMDq+RSS, VMDq+DCB, VMDq+DCB+RSS */
> @@ -163,7 +134,6 @@ int bnxt_mq_rx_configure(struct bnxt *bp)
>                 end_grp_id += nb_q_per_grp;
>         }
>
> -out:
>         bp->rx_num_qs_per_vnic = nb_q_per_grp;
>
>         if (dev_conf->rxmode.mq_mode & ETH_MQ_RX_RSS_FLAG) {
> --
> 2.28.0.497.g54e85e7
>
>
  

Patch

diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c
index 2b0d3d4ac7..45e0c3d01c 100644
--- a/drivers/net/bnxt/bnxt_rxq.c
+++ b/drivers/net/bnxt/bnxt_rxq.c
@@ -40,35 +40,6 @@  int bnxt_mq_rx_configure(struct bnxt *bp)
 
 	bp->nr_vnics = 0;
 
-	/* Single queue mode */
-	if (bp->rx_cp_nr_rings < 2) {
-		vnic = &bp->vnic_info[0];
-		if (!vnic) {
-			PMD_DRV_LOG(ERR, "VNIC alloc failed\n");
-			rc = -ENOMEM;
-			goto err_out;
-		}
-		vnic->flags |= BNXT_VNIC_INFO_BCAST;
-		bp->nr_vnics++;
-
-		rxq = bp->eth_dev->data->rx_queues[0];
-		rxq->vnic = vnic;
-
-		vnic->func_default = true;
-		vnic->start_grp_id = 0;
-		vnic->end_grp_id = vnic->start_grp_id;
-		filter = bnxt_alloc_filter(bp);
-		if (!filter) {
-			PMD_DRV_LOG(ERR, "L2 filter alloc failed\n");
-			rc = -ENOMEM;
-			goto err_out;
-		}
-		filter->mac_index = 0;
-		filter->flags |= HWRM_CFA_L2_FILTER_ALLOC_INPUT_FLAGS_OUTERMOST;
-		STAILQ_INSERT_TAIL(&vnic->filter, filter, next);
-		goto out;
-	}
-
 	/* Multi-queue mode */
 	if (dev_conf->rxmode.mq_mode & ETH_MQ_RX_VMDQ_DCB_RSS) {
 		/* VMDq ONLY, VMDq+RSS, VMDq+DCB, VMDq+DCB+RSS */
@@ -163,7 +134,6 @@  int bnxt_mq_rx_configure(struct bnxt *bp)
 		end_grp_id += nb_q_per_grp;
 	}
 
-out:
 	bp->rx_num_qs_per_vnic = nb_q_per_grp;
 
 	if (dev_conf->rxmode.mq_mode & ETH_MQ_RX_RSS_FLAG) {